59得票3回答
Haskell轻量级线程的开销及在多核上的使用

我一直在阅读《Real World Haskell》这本书,其中有一个关于并发和并行的章节。我的问题如下: 1. 由于Haskell线程实际上只是一个"真实"操作系统线程中的多个"虚拟"线程,这是否意味着创建大量线程(如1000个)将不会对性能产生重大影响?换句话说,我们可以说使用forkI...

48得票4回答
Erlang进程与内核线程有何关系?如果有的话,它们如何映射?

Erlang 以支援多个轻量级进程而闻名;它能够做到这一点,是因为这些进程不是传统意义上的进程,甚至不像 P-threads 中的线程那样,而是完全在用户空间中的线程。 这很好(实际上非常棒)。但是,在多核/多处理器环境下,Erlang 线程如何并行执行呢?它们肯定必须以某种方式映射到内核线...

31得票8回答
轻量级进程和线程之间有什么区别?

我在这里找到了一个问题的答案.但是我不理解其中一些观点。例如,轻型进程被说成与其他进程共享其逻辑地址空间。这是什么意思?我可以理解两个线程相同的情况:它们都共享一个地址空间,因此它们都可以从bss段(例如)读取任何变量。但我们有很多不同的进程,具有不同的bss段,我不知道如何共享所有这些。

14得票1回答
BEAM在Elixir编程语言的iex中代表什么?

B.E.A.M.是什么意思?我记得曾经看到过“BEAM”首字母缩写的解释,但是我现在找不到了。 它出现在错误代码中: ➜ gentoo iex Erlang/OTP 17 [erts-6.4.1] [source] [64-bit] [smp:8:8] [async-threads:1...

14得票1回答
Linux中的线程和LWP

这个句子正确吗:"所有Linux中的线程都是LWP,但不是所有LWP都是线程"。实际上,我试图理解Linux中的线程实现。pthread_create调用clone系统调用,但在man clone中,我没有找到任何关于LWP的参考。 那么,Linux是否真的有LWP呢?

12得票2回答
代码=134110 - 必选目标属性缺少属性值的验证错误

背景: 应用程序使用CoreData 过去已经成功执行了一些轻量级迁移(达到了模型版本的第4个迭代) 客户需要一个新功能 创建了第5个模型版本 向TestModel实体添加了一个单一的糟糕新属性,一个名为new_one的非可选布尔值 结果:CoreData: error: NSU...

11得票3回答
“绿色线程”和Erlang的进程有什么区别?

在了解了Erlang的轻量级进程后,我相信它们是“绿色线程”(green threads)。直到我了解到绿色线程和Erlang进程之间存在差异,但我并不理解这些差异。 那么,这些实际上的差异是什么呢?

8得票2回答
LLVM提供实现“绿色线程”/轻量级进程的任何设施吗?

我正在考虑设计一种并发语言,支持轻量级进程(“绿色线程”),类似于Erlang,并使用LLVM作为本地代码生成器。轻量级进程以M:N方式分配给本机操作系统线程,并且应该可以在线程之间进行工作窃取(即,如果必要,应该能够通过数据结构表示进程并在线程之间传递)。可能存在大量进程,因此进程不应占用过...

7得票3回答
Python生成器函数/对象的命名惯例

我有几个逻辑进程实现在同一个类中。 一个类实例为每个进程获取一个生成器,run()推进这些生成器。在我的情况下,生成器不会结束。 在下面的代码中,你会如何称呼 foo_function 和 foo_object? class C(threading.Thread): def foo...

7得票5回答
.NET中的Erlang风格轻量级进程

有没有办法在.NET中实现像Erlang那样的轻量级进程? 我找到了一些实现Erlang消息模型(actor模型)的项目。例如,Axum。但我没有找到任何关于轻量级进程实现的内容。我指的是在单个操作系统线程或操作系统进程的上下文中运行的多个进程。