https://eli.thegreenplace.net/2019/on-concurrency-in-go-http...
Erlang, Rust and Go can only be used to solve embarrassingly parallel problems.
https://eli.thegreenplace.net/2019/on-concurrency-in-go-http...
Erlang, Rust and Go can only be used to solve embarrassingly parallel problems.
I'm pretty sure each of those have been used for other kinds of parallelism than just embarrassingly parallel problems.
What language constructs/patterns do you feel are better suited to solving parallelism problems, and what languages exemplify these techniques?
Your article is from 2005, so I take it to mean that Java 6 was doing the interesting things you talk about - from my recollection, the go-to at that time was java.util.concurrent. (I haven't kept up with Java, so it could still be state-of-the-art.)
https://www.sciencedirect.com/science/article/pii/S016764230... - this paper describes the implementation as "The heart of the framework is maintenance of queues of blocked threads, which are restricted here to FIFO queues." If you're not familiar, this is exactly what go channels are, just baked into the language rather than in the standard library.
Additionally one benefit over Go, is that in Java (likewise in .NET), the scheduler algorithm is replaceable.
The more you downvote me the stronger I become! :D
But use it if you really need it. Likely that’s not your bottleneck.