A concurrency pattern is a software design pattern that supports concurrent processing.

Examples

Examples include:

  • Active object
  • Balking pattern
  • Barrier
  • Double-checked locking
  • Guarded suspension
  • Monitor object
  • Nuclear reaction
  • Reactor pattern
  • Readers–writer lock
  • Scheduler pattern
  • Thread pool pattern
  • Thread-local storage

See also

  • Behavioral pattern
  • Creational pattern
  • Design Patterns
  • Structural pattern

References

  • ScaleConf Presentation about concurrency patterns
  • GopherCon Rethinking Classical Concurrency Patterns slides
  • GoWiki: Learn Concurrency

Recordings about concurrency patterns from Software Engineering Radio:

  • Episode 12: Concurrency Pt. 1
  • Episode 19: Concurrency Pt. 2
  • Episode 29: Concurrency Pt. 3