在 Haskell 中,forkIO 创建了一个未绑定(Haskell)线程,而 forkOS 创建了一个绑定(本机)线程。我在这里提到的上一个问题的答案是不能保证 Haskell 线程保持在同一个操作系统线程上,这似乎得到了Control.Concurrent模块的文档的支持。我的问题是,如果一个正在运行的 Haskell 线程被交换到另一个操作系统线程,它的 ThreadID 会保持不变吗?
问问题
128 次
在 Haskell 中,forkIO 创建了一个未绑定(Haskell)线程,而 forkOS 创建了一个绑定(本机)线程。我在这里提到的上一个问题的答案是不能保证 Haskell 线程保持在同一个操作系统线程上,这似乎得到了Control.Concurrent模块的文档的支持。我的问题是,如果一个正在运行的 Haskell 线程被交换到另一个操作系统线程,它的 ThreadID 会保持不变吗?