Concurrency pattern: Difference between revisions
Jump to navigation
Jump to search
imported>Frap No edit summary |
imported>Stevebroshar Normalize layout and content to match other pattern articles |
||
| Line 1: | Line 1: | ||
A '''concurrency pattern''' is a [[ software design pattern]] that supports [[Concurrency (computer science)|concurrent processing]]. | |||
Examples | ==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> | * [[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> | ||
| Line 8: | Line 9: | ||
* [[Double-checked locking]] | * [[Double-checked locking]] | ||
* [[Guarded suspension]] | * [[Guarded suspension]] | ||
* [[Monitor (synchronization)|Monitor object]] | * [[Monitor (synchronization)|Monitor object]] | ||
* [[Nuclear computation|Nuclear reaction]] | * [[Nuclear computation |Nuclear reaction]] | ||
* [[Reactor pattern]] | * [[Reactor pattern]] | ||
* [[Readers–writer lock]] | * [[Readers–writer lock]] | ||
| Line 18: | Line 18: | ||
== See also == | == See also == | ||
* [[Behavioral pattern]] | * [[Behavioral pattern]] | ||
* [[Creational pattern]] | * [[Creational pattern]] | ||
* ''[[Design Patterns]]'' | |||
* [[Structural pattern]] | * [[Structural pattern]] | ||
Latest revision as of 15:54, 15 December 2025
A concurrency pattern is a software design pattern that supports concurrent processing.
Examples
Examples include:
- Active object[1][2]
- 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
References
<templatestyles src="Reflist/styles.css" />
- ↑ Douglas C. Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann "Pattern-Oriented Software Architecture, Volume 2, Patterns for Concurrent and Networked Objects", Wiley, 2000
- ↑ Script error: No such module "citation/CS1".
Script error: No such module "Check for unknown parameters".
External links
- ScaleConf Presentation about concurrency patterns
- GopherCon Rethinking Classical Concurrency Patterns slides
- GoWiki: Learn Concurrency
Recordings about concurrency patterns from Software Engineering Radio: