
Ask HN: Need recommendations on good multithreading 101 - hellofunk
I&#x27;d like to learn the fundamentals of multithreading, both in the context of lower-level considerations like mutexes and locks (i.e. what they are and how to use them, when to use the, etc), the problems they solve, manually managing threads, but also good intoruction to higher-level techniques in asynchronous development, like futures, promises, channels (if available in the language), etc.<p>Multithreading support and techniques widely varies between languages and a lot of the literature is language-specific. I happen to use C++ which now has the higher-level threading tools in its standard, as well as portable manual thread managements and I don&#x27;t want to just read a blog post and then go down that road for a production app without a more thorough background.<p>Any good resources that have helped you that are accurate and thorough without being 500 pages?
======
brudgers
Multi-threading is a technique for managing concurrency. I'd recommend
focusing on how concurrency is inherent in whatever particular problem domain
is driving the project and then look at how different projects manage
that...i.e. what problems are JavaScript Erlang, C++, Go, and Clojure each
appropriate for?

Good luck.

------
floating_cloud
Would this help?
[https://computing.llnl.gov/tutorials/pthreads/](https://computing.llnl.gov/tutorials/pthreads/)

It does not have details on futures, promises and channels though.

