erlang如何使用一个OS线程实现抢占式调度?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了erlang如何使用一个OS线程实现抢占式调度?相关的知识,希望对你有一定的参考价值。

我想知道erlang的VM如何抢占正在运行的代码并使用栈上下文。如何用c等语言完成?

答案

Erlang的所有代码都将编译为Erlang VM的操作代码。 Erlang的VM通过OS的线程执行Erlang的操作代码,这些线程是在Erlang的VM启动时创建的。

Erlang的代码运行在由Erlang的VM控制的虚拟CPU上。 Erlang的VM将IO视为虚拟CPU的中断。因此,Erlang的VM实现了一台机器和一个像操作系统一样的调度程序。由于操作代码和非阻塞IO,我们可以使用C语言在Erlang的VM中实现抢占。

以上是关于erlang如何使用一个OS线程实现抢占式调度?的主要内容,如果未能解决你的问题,请参考以下文章

JAVA抢占式线程调度的问题

Linux用户抢占和内核抢占详解(概念, 实现和触发时机)--Linux进程的管理与调度(二十)

多线程

java线程调度

Java多线程的调度策略

王道操作系统OS进程管理