Haskell与Python线程模型

Der*_*unk 6 python haskell multicore

也许那里的人有正确的兴趣,知道如何回答这个问题.基本上问题是:multiprocessingPython中的模块和Haskell中的并行性有什么区别.例如:在Python中创建的线程是否映射到OS线程?如果是这样,如果有多个线程而不是内核呢?它们是否多路复用到OS线程中?谁安排这些线程?感谢所有信息:文档/见解非常感谢.

fuz*_*fuz 7

与Python相反(参见Eli的回答),Haskell的线程模型是完全不同的.并发性(处理程序不同方面的多个线程)和并行性(多个线程只是为了加速计算)之间存在差异.两者都由Haskell RTS管理的轻量级线程处理.在第二种情况下,可以使用类似的原语,pseqpar提示运行时在另一个线程中进行计算,如果这样可以获得优势.运行时自动决定这一点.


Eli*_*sky 6

Python multiprocessing模块与线程无关.它尝试提供与下面的进程类似的threading(它确实暴露线程)的API .

Python线程被映射到操作系统线程,如果你创建的线程数多于核心数,那么完全相同的事情就像你在C(pthreads,Win API线程等)中做的那样 - 操作系统在核心之间篡改线程.

网上有很多关于Python线程的信息,只有谷歌.