필자는 동시성과 병렬성에 관한 장 "Real World Haskell"을 읽었습니다.하스켈 경량 쓰레드 오버 헤드와 멀티 코어에서의 사용
하스켈 스레드, 이것은 그들 중 많은 (같은 1000)을 생성하는 것이 하나의 "진짜"OS 스레드 내부 정말 그냥 여러 개의 "가상"스레드를 의미합니까 때문에는이 없습니다 다음과 같이 내 질문은 성능에 큰 영향을 미칩니 까? 즉,
forkIO
으로 하스켈 스레드를 생성 할 때 발생하는 오버 헤드는 (거의) 무시할 만하다고 말할 수 있습니까? 가능한 경우 교훈적인 예를 가져와주십시오.경량 스레드의 개념은 멀티 코어 아키텍처의 이점을 사용하지 못하게합니까? 이해할 수 있듯이 두 Haskell 쓰레드는 운영 체제의 관점에서 볼 때 실제로 하나의 단일 쓰레드이기 때문에 2 개의 개별 코어에서 동시에 실행하는 것은 불가능합니다. 또는 하스켈 런타임은 여러 CPU를 사용할 수 있도록하기 위해 몇 가지 똑똑한 기술을 사용합니까?
도 참조 http://stackoverflow.com/questions/3063652/whats-the-status-of-multicore-programming-in-haskell –
또한 HTTP ://stackoverflow.com/questions/1920805/python-ruby-haskell-do-they-provide-true-multithreading/1925211#1925211 –