Concurrency pattern
Encyclopedia
In software engineering
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 Object
    Active Object
    The 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 pattern
    Balking pattern
    The 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 suspension
    Guarded suspension
    In 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 Object
    Monitor (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 pattern
    Scheduler pattern
    In 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 pattern
    Thread pool pattern
    In 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 pattern
    Reactor pattern
    The reactor design pattern is an event handling pattern for handling service requests delivered concurrently to a service handler by one or more inputs...


External links

Recordings about concurrency patterns from Software Engineering Radio:
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK