3 ms·
What would you say the essential difference is betwee pre-empted coroutines with a scheduler and threads? The only thing I could think of is that with coroutin
by mzl 16y ago
What would you say the essential difference is betwee pre-empted coroutines with a scheduler and threads?
The only thing I could think of is that with coroutines one can explicitly pass control over to another coroutine, but that is something that Erlang does not provide, so I don't really understand what you mean.
- silentbicycle 16y agoErlang processes are managed by its scheduler, while threads are managed by the OS. Erlang has more info about appropriate stack sizes, garbage collection is done per-process* , it only pre-empts processes that are currently working or recently got a new message, and probably a half dozen other optimizations I'm not aware of. Let me know if you have more questions, I really like Erlang and I've wanted an excuse to research this. :) * And often doesn't need to be done at all, because the process terminates first.