4
在Haskell中,forkIO創建一個未綁定(Haskell)線程,而forkOS創建一個綁定(本地)線程。我之前提到的問題here的答案我已經提到Haskell線程不保證保持在同一個OS線程上,這似乎受Control.Concurrent模塊文檔的支持。我的問題是,如果正在運行的Haskell線程被交換到另一個操作系統線程,其ThreadID是否保持不變?在OS線程周圍混洗Haskell線程時,ThreadID是否一致?
forkOS不會創建新的操作系統線程,它會將該輕量級線程綁定爲僅在單個操作系統線程上運行。這對於像OpenGL這樣的在幕後使用線程特定數據的東西很重要。 – Axman6 2012-07-18 12:21:42