3 ms·
Erlang sidesteps the problem by avoiding mutable shared state, in this context they're threads/processes in name only. Go is just yet another implementation of
by Nullabillity 5y ago
Erlang sidesteps the problem by avoiding mutable shared state, in this context they're threads/processes in name only.
Go is just yet another implementation of green threads that is slightly less broken than prior implementations, because it had the benefit of being implemented on day 1 (so the whole ecosystem is green thread-aware). It's certainly nowhere near "best-in-class".
- chrisseaton 5y ago> Erlang sidesteps the problem by avoiding mutable shared state Erlang is maximal shared mutable state! Processes are mutable state and they’re shared between other processes.
- toast0 5y agoShared mutable state is hard to work with, but Java threads and Java promises both give you access to it. In either case, you'd need discipline to avoid patterns which reduce concurrency. From the article, it seems that Loom (in preview) enables the threaded model for Java to scale. IMHO, this is great because you can write simple straightforward code in a threaded model. You can certainly write complex code in a threaded model too. Maybe there's an argument that promises can be simple and straightforward too, but my experience with them hasn't been very straightforward.