Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You are absolutely correct, the schedulers never preempt a process in the classical sense, but from an Erlang code perspective, the system behaves as if it would be preemptive. The schedulers are actually running a byte code interpreter and the interpreter will switch processes once a certain number of reductions is reached (or the code yields). This breaks down when running native code in the form of NIFs - it is entirely possible to block a scheduler indefinitely while running native code.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: