Concurrency pattern
Encyclopedia
In software engineering
, concurrency patterns are those types of design patterns
that deal with multi-threaded programming paradigm.
Examples of this class of patterns include:
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...
, concurrency patterns are those types of design patterns
Design pattern (computer science)
In software engineering, a design pattern is a general reusable solution to a commonly occurring problem within a given context in software design. A design pattern is not a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that...
that deal with multi-threaded programming paradigm.
Examples of this class of patterns include:
- Active ObjectActive ObjectThe active object design pattern decouples method execution from method invocation that reside in their own thread of control. The goal is to introduce concurrency, by using asynchronous method invocation and a scheduler for handling requests....
- Balking patternBalking patternThe balking pattern is a software design pattern that only executes an action on an object when the object is in a particular state. For example, if an object reads ZIP files and a calling method invokes a get method on the object when the ZIP file is not open, the object would "balk" at the request...
- Double checked locking pattern
- Guarded suspensionGuarded suspensionIn concurrent programming, guarded suspension is a software design pattern for managing operations that require both a lock to be acquired and a precondition to be satisfied before the operation can be executed...
- Leaders/followers pattern
- Monitor ObjectMonitor (synchronization)In concurrent programming, a monitor is an object or module intended to be used safely by more than one thread. The defining characteristic of a monitor is that its methods are executed with mutual exclusion. That is, at each point in time, at most one thread may be executing any of its methods...
- Read write lock pattern
- Scheduler patternScheduler patternIn computer programming, the scheduler pattern is a software design pattern. It is a concurrency pattern used to explicitly control when threads may execute single-threaded code, like write operation to a file....
- Thread pool patternThread pool patternIn computer programming, the thread pool pattern is where a number of threads are created to perform a number of tasks, which are usually organized in a queue. Typically, there are many more tasks than threads. As soon as a thread completes its task, it will request the next task from the queue...
- Thread-Specific Storage
- Reactor patternReactor patternThe reactor design pattern is an event handling pattern for handling service requests delivered concurrently to a service handler by one or more inputs...