Concurrency Patterns
A collection of design patterns & strategies for structuring concurrent programs.
Message Passing
Message passing is the way to go.
Pipelines
Pipelines can be rippin fast but are not suitable for every problem
Event Handling
The popular approach for GUI applications.
Shared State
Use locks and shared memory to shoot yourself in the foot in parallel.