{{Short description|Software design pattern}} A '''concurrency pattern''' is a software design pattern that supports concurrent processing.

==Examples== Examples include:

* Active object<ref>Douglas C. Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann "Pattern-Oriented Software Architecture, Volume 2, Patterns for Concurrent and Networked Objects", Wiley, 2000</ref><ref>{{cite web |author=R. Greg Lavender, Douglas C. Schmidt |year=1995 |title=Active Object |url=http://www.cs.wustl.edu/~schmidt/PDF/Act-Obj.pdf |url-status=dead |archive-url=https://web.archive.org/web/20100615214451/http://www.cs.wustl.edu/~schmidt/PDF/Act-Obj.pdf |archive-date=2010-06-15 |accessdate=2010-06-17}}</ref> * 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 == {{Reflist}}

== External links == * [http://shairosenfeld.com/concurrency.html ScaleConf Presentation about concurrency patterns] * [https://www.youtube.com/watch?v=5zXAHh5tJqQ GopherCon Rethinking Classical Concurrency Patterns] [https://www.scribd.com/document/419772234/Rethinking-Classical-Concurrency-Patterns slides] * [https://github.com/golang/go/wiki/LearnConcurrency GoWiki: Learn Concurrency]

Recordings about concurrency patterns from Software Engineering Radio: * [http://www.se-radio.net/2006/04/episode-12-concurrency-pt-1/ Episode 12: Concurrency Pt. 1] * [http://www.se-radio.net/2006/06/episode-19-concurrency-pt-2/ Episode 19: Concurrency Pt. 2] * [http://www.se-radio.net/2006/09/episode-29-concurrency-pt-3/ Episode 29: Concurrency Pt. 3]

{{Design Patterns patterns}} Category:Concurrent computing Category:Software design patterns Category:Concurrency (computer science) {{comp-sci-stub}}