In
software engineering
Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
,
concurrency patterns are those types of
design patterns that deal with the
multi-threaded programming paradigm.
Examples of this class of patterns include:
*
Active object
*
Balking pattern
*
Barrier
*
Double-checked locking
*
Guarded suspension
* Leaders/followers pattern
*
Monitor object
*
Nuclear reaction
In nuclear physics and nuclear chemistry, a nuclear reaction is a process in which two atomic nucleus, nuclei, or a nucleus and an external subatomic particle, collide to produce one or more new nuclides. Thus, a nuclear reaction must cause a t ...
*
Reactor pattern
The reactor software design pattern is an event handling strategy that can respond to many potential service requests concurrently. The pattern's key component is an event loop, running in a ''single'' thread or process, which demultiplexes inc ...
*
Readers–writer lock
*
Scheduler pattern
*
Thread pool pattern
*
Thread-local storage
In computer programming, thread-local storage (TLS) is a memory management method that uses static memory allocation, static or global computer storage, memory local to a thread (computing), thread. The concept allows storage of data that appear ...
See also
* ''
Design Patterns'' (book)
*
Behavioral pattern
*
Creational pattern
In software engineering, creational design patterns are design patterns that deal with object creation
Object may refer to:
General meanings
* Object (philosophy), a thing, being, or concept
** Object (abstract), an object which does not ex ...
*
Structural pattern
References
External links
ScaleConf Presentation about concurrency patternsGopherCon Rethinking Classical Concurrency Patternsslides
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
Concurrent computing
Software design patterns
Concurrency (computer science)
{{comp-sci-stub