
Level Up Your Concurrency Skills with Rust [video] - dbrgn
https://www.youtube.com/watch?v=oIikwmeGVYY
======
tiuPapa
Sorry for straying offtopic, but what are some good resources to understand
concurrency in general?

~~~
Jtsummers
Is there a specific aspect of it you want to understand?

My recommendation to younger colleagues has been: Learn Go and Erlang. Go
implements (basically) communicating sequential processes. If you want to know
more from a theory side, you can read C.A.R. Hoare's book on the topic [0].
Erlang uses the actor model and message passing. There are many similarities
but enough differences that you can learn a lot by learning both. Other
languages offer these same approaches, but these two are the closest
mainstream languages I'm aware of that take CSP or actor model as almost their
basic design philosophy. This reduces the semantic distance between the
language and the theory and makes it easy to learn, IMHO.

Lots of good resources for both, you can google around for.

After getting the hang of things here, I'd continue with studying the
concurrency primitives or libraries of your language of choice. You'll
hopefully find that you can apply the knowledge you've found from the first
two to designing good concurrent software in most other languages.

[0] [http://www.usingcsp.com/](http://www.usingcsp.com/)

~~~
tiuPapa
Yeah learning Go and Erlang has been on my mind. Basically I am interested in
learning about the different prevalent models like CSP, STM, actors and how
they differ or relate to each other, or how things like event loops or sync
and async fit in here. I have a basic idea of the terms but I don't have a
clear picture in mind.

~~~
dmlorenzetti
You might try "Seven Concurrency Models in Seven Weeks" for a high-level
overview of different approaches.

[https://pragprog.com/book/pb7con/seven-concurrency-models-
in...](https://pragprog.com/book/pb7con/seven-concurrency-models-in-seven-
weeks)

~~~
tiuPapa
Whoa nice, seems like exactly what I wanted

------
KwanEsq
The music does end after the first minute, fortunately.

~~~
equalunique
I wish I had the name of the song. It's great.

