Recommend a good resource for approaches to concurrent programming?

concurrency

Solution

I recommend An Introduction to Parallel Programming by Pacheco. It's clearly written, and a good intro to parallel programming.

If you don't care about something being tied to a language, then Java Concurrency in Practice is a great resource.

Oracle's online tutorial is free, but probably a bit more succinct than what you're looking for.

That being said, the best teacher for concurrency is probably experience. I'd try to get some practice, myself. Start out by making a simulation of the Dining Philosophers problem. It's a classic.

Problem

I've read various bits and pieces on concurrency, but was hoping to find a single resource that details and compares the various approaches. Ideally taking in threads, co-routines, message passing, actors, futures... whatever else that might be new that I don't know about yet! Would prefer a lay-coders guide than something overtly theoretical / mathematical. Thank you.

Original source