2011-11-04 4 views
3

멀티 스레드를 병렬로 실행하는 방법이 있다면 알려주십시오. 지금까지 내가 아는 것은 루비가 스레드를 병렬로 실행하고 동시에 구현하는 것을 차단하는 전역 인터프리터 잠금 또는 전역 VM 잠금을 가지고 있다는 점이다. 실제로 이해하고 스레드가 병렬로 또는 동시에 작동하는지 확인하기 위해 몇 가지 좋은 스레드 예제를 알려주십시오.Ruby에서 다중 스레드를 병렬로 실행할 수 있습니까?

답변

1

MRI (동시성 만 해당)에는 없지만 jRuby에서는 예입니다.

See this great article,이 주제에는 많은 것들이 있지만 이것은 최근의 것으로 아주 좋은 조언을 제공합니다.

+2

Rubinius 2.0에도 실제 멀티 스레딩이 있지만 아직 개발 중입니다. – d11wtq

+0

참고 : C 확장은 GIL의 잠금을 해제 할 수 있습니다. 그래서 당신이하고 싶은 것에 따라, 당신은 이미 한계를 극복 할 수있는 라이브러리를 사용할 것입니다 –

+0

다음 사항을 고려해야 할 또 다른 것이있을 수 있습니까? : 나는 실제 멀티 스레딩이 실행중인 CPU 코어의 수로 제한된다는 것을 읽었습니다. 그렇다면 이중 코어를 사용하면 병렬 스레드 두 개만 얻을 수 있습니다. –

관련 문제