Exercises to learn Concurrency and Parallelism

Hello, i’ve been learning and using elixir in the past months and i’m really enjoying the experience. One thing i want to experiment more with, is elixir’s processes and multithreading/concurrency support. Does anyone know of any good exercises or problems to try to solve to better understand and utilize these aspects of the language?

Get some of the retail datasets from Kaggle and exercise inserting millions of records in parallel. You start off with NimbleCSV.parse_stream and utilize Task.async_stream with your Ecto.Repo.

That’s what I did a while ago and I liked it.


I would recommend reading the book Concurrent Data Processing in Elixir: "Fast, Resilient Applications with OTP, GenStage, Flow, and Broadway. I’m reading it and let me understand a little more about this. But I’m in a very early stage of my learning on this topic too


I just finished this book and will also recommend it! By the time I got to the end, I had several ideas for my own hobby projects which could put these libraries to use.