【问题标题】:how to implement a user space multi-thread vm e.g. Erlang runtime [closed]如何实现用户空间多线程虚拟机,例如Erlang 运行时 [关闭]
【发布时间】:2013-06-07 13:15:06
【问题描述】:

Erlang 运行时如何在类 UNIX 系统上实现用户空间多线程机制?

它是使用getcontext(2)longjump(3) 之类的东西实现的吗?

任何相关文档将不胜感激。

【问题讨论】:

  • @AlecHenderson_v1.00 为什么你认为这是一个糟糕的答案?
  • @om-nom-nom (你的意思是写得不好 question 吗?)因为从字面上看(对我来说)谷歌上“unix 多线程”的第一个命中是 Kevin 的链接.
  • @Kninnug 我的问题是关于用户空间线程实现的。许多“线程”对应于内核中固定数量的线程上下文。我正在考虑用户空间中“线程”的切换和调度器。

标签: c linux erlang


【解决方案1】:

每个 Erlang 进程只是一个结构,其中包含一个堆和一个堆栈。所以切换过程只是在队列中使用另一个结构的问题。我认为this 论文很好地描述了它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    相关资源
    最近更新 更多