mac*_*c93 1 erlang multithreading lightweight-processes
我正在研究一个基于erlang的系统,并试图分析系统中发生的事件序列.有没有办法强制erlang运行时或elang vm创建一个新的内核线程,每次调用"spawn".这会使系统变慢,但它会使研究变得更容易.我已经尝试了+ S标志,并且已经启用了smp,但我怀疑系统仍在将多个进程映射到一个内核线程或erlang调度程序.我缺少任何输入/配置参数吗?
不,这不是Erlang VM的工作原理.BEAM为每个核心生成线程并在那里运行调度程序.每个Erlang进程都可以在任何调度程序上运行,甚至可以从调度程序迁移到调度程序,从而使它们从一个线程迁移到另一个线程.默认情况下,这些调度程序甚至不绑定到CPU核心,因此它们可以从核心迁移到核心.您可以使用-sbtswitch 绑定它们.您还可以将Erlang进程绑定到未记录且非常不推荐的特定调度程序.你不能从Erlang产生一个线程但是从NIF或端口产生一个线程但是你无论如何都不能在这个线程上运行Erlang进程.
| 归档时间: |
|
| 查看次数: |
126 次 |
| 最近记录: |