我不太理解HaLVM或类似技术在操作系统线程方面的作用。
我知道当使用编译选项-threaded编译代码时,Haskell多线程运行时将使用操作系统线程来重新分配现有的Haskell线程,从而避免外部调用的阻塞行为。现在,当你使用HaLVM时,你可能不需要进行任何外部调用。然而,我想知道这些如何结合起来,以及HaLVM运行多少工作线程。是否存在其他情况,没有操作系统工作线程可能导致阻塞或其他不良行为?
HaLVM使用单线程的GHC运行时。
将HaLVM移植到使用多线程运行时,并得到来自多核Xen的支持,将是一个有趣的项目。