A set of examples helping to understand the key design patterns used in concurrent programming