3 ms·
I interpret it as shared state concurrency. That is, multiple threads sharing the same address space performing reads and writes on shared data: atomics, mutexe
by grayrest 11y ago
I interpret it as shared state concurrency. That is, multiple threads sharing the same address space performing reads and writes on shared data: atomics, mutexes, etc. From the update I understand that he's considering things like Actors, Communicating Sequential Processes (goroutines), and data partitioning divide+conquer (MapReduce) approaches as different even if they happen to be implemented on different threads sharing the memory space.
I'm not sure on the relative prevalence but I can say that I've read relatively little about what he's calling multi-threaded programming. Mostly just a handful of lock-free data structures from the C++ guys and Rust's take on how they can do it while avoiding data races due to the type system. The alternatives, on the other hand, have been on HN pretty much continuously since HN started up.
- GFK_of_xmaspast 11y agoc++11 added a ton of support for that kind of stuff tho, with language-level atomics, mutexes, etcetcetc.
- wvenable 11y agoAnd this is in direct contrast to how much hype there was for programmers to use multi-threaded programming due to leveling off of single-core performance and the prevalence of multi-core systems.
- dbaupp 11y agoI'm not sure about this, e.g. concurrent data structures are a form of shared state concurrency and "worker pools" may or may not use shared state, it seems orthogonal.