Happy Friday! Here is your weekly recap on the theme of concurrency.
Don't feel bad if you haven't had time to read all the posts this week. What's important is to keep moving forward, no matter the pace. Focus on the journey, not just the destination.
Visual of the Week
Issues
Weekly Podcast
The podcast of the week (we’re now also available on Spotify):
Knowledge Check
Do you remember a few words about the differences between concurrency and parallelism?
Can we have parallelism without concurrency?
What’s a coroutine?
Does a coroutine provide concurrency or parallelism?
Can you think of a use case for coroutines in your current code?
What’s the difference between a mutex and a semaphore?
What are the differences in terms of ownership?
What’s a data race?
What’s a race condition?
If we fix a data race, does it mean our application is free of race conditions?
Can you think of a race condition in your current code?
Explore Further
We’re now 385! Thank you so much for being part of The Coder Cafe. I kept working to make sure I had a comfortable buffer of posts. For now, I already have the next seven weeks written and scheduled. In the meantime, please do not hesitate to add in the comments any feedback you might have. Any feedback is good feedback!
Please remember that next week will be the last free week (and the last one to enjoy the 50% off a paid subscription). Starting after that, free subscribers will get access to only one post per week, three excerpts, and no recaps.
Next week, the theme will be… database fundamentals! 🎉