相关疑难解决方法(0)

Haskell轻量级线程开销并用于多核

我一直在阅读"真实世界Haskell"一书,关于并发和并行的章节.我的问题如下:

  • 由于Haskell线程实际上只是一个"真正的"OS线程中的多个"虚拟"线程,这是否意味着创建它们(如1000)不会对性能产生重大影响?即,我们可以说创建Haskell线程所产生的开销forkIO几乎可以忽略不计吗?如果可能的话,请带上典型的例子.

  • 轻量级线程的概念是否阻止我们使用多核架构的好处?据我所知,两个Haskell线程不可能在两个独立的内核上并发执行,因为从操作系统的角度来看它们实际上是一个单独的线程.或者Haskell运行时是否做了一些聪明的技巧来确保可以使用多个CPU?

concurrency multithreading haskell multicore lightweight-processes

58
推荐指数
2
解决办法
7815
查看次数

"绿色线程"和Erlang的流程之间有什么区别?

在阅读了Erlang的轻量级过程后,我非常确定它们是"绿色线程".直到我读到绿色线程和Erlang的进程之间存在差异.但我不明白.

有什么实际差异?

erlang multithreading lightweight-processes green-threads

11
推荐指数
3
解决办法
2085
查看次数

幕后的Erlang进程是什么?

我对Erlang的了解非常有限,但据我所知,它可以以非常低的成本产生"过程".

所以我想知道,幕后的那些"过程"是什么?

它们是纤维吗?主题?延续?

concurrency erlang multithreading fiber

9
推荐指数
1
解决办法
2305
查看次数