3 ms·
> I already mentioned child processes, which model scaling up to multiple servers better than threads do ... All taking away threads does is eliminate high-val
by teacup50 13y ago
> I already mentioned child processes, which model scaling up to multiple servers better than threads do ...
All taking away threads does is eliminate high-value optimization strategies that are available to multi-machine scalable systems that do support threads.
Threads don't dictate shared mutable state as a programming paradigm, they simply make it possible to avoid crossing expensive network and process boundaries where appropriate.
There's nothing stopping you from architecting thread-based architectures to use low-cost in-core dispatch of message within a VM, and save the high-cost serialization, IPC/network overhead for off-machine message dispatch.
- memracom 13y agoOn which OS is crossing the process boundary expensive? And how expensive is expensive?
- teacup50 13y ago> On which OS is crossing the process boundary expensive? All of them, always. It's either expensive in terms of resource cost (requiring serialization and complex local IPC overhead), or expensive in terms of complexity (requiring shared memory and inter-process coordination).