scheduler是erlang的调度器,是为了解决erlang程序在多核cpu的计算机上运行能同时让每个cpu都能处理的问题,也就是解决多cpu编程的问题。整个的解决方案应该叫SMP。
同一个代码,如果不进行处理在某些语言里,只能在某个cpu下运行,如果这个计算机有8个CPU那么,有7个是空闲的,这就大大的浪费了资源。
在启动erlang的时候,操作系统会告诉erlang,这台计算机有几个核心,然后erlang就会启动几个scheduler调度器,在不改变代码的情况下,调度器会根据当前cpu的空闲情况,调度现有正在运行的erlang进程进入某个CPU里处理。
原文:http://wudixiaotie.iteye.com/blog/2177820