也许有合适的人会知道如何回答这个问题。基本上问题是:Python 中的 multiprocessing
模块与 Haskell 中的并行性有什么区别。例如:在 Python 中创建的线程是否映射到 OS 线程?如果是这样,如果线程数多于内核数怎么办?它们是否复用到操作系统线程中?谁安排这些线程?感谢您提供所有信息:非常感谢文档/见解。
最佳答案
与 Python(参见 Eli's answer)相反,Haskell 的线程模型非常不同。并发性(多个线程处理程序的不同方面)和并行性(多个线程只是为了加快计算速度)之间存在差异。两者都由 Haskell RTS 管理的轻量级线程处理。在第二种情况下,可以使用像 pseq
和 par
这样的原语来提示运行时在另一个线程中进行计算,如果这样做有优势的话。运行时自动决定这一点。
关于python - Haskell 与 Python 线程模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6587095/