O'Reilly logo

Pattern-Oriented Software Architecture: A Pattern Language for Distributed Computing, 4th Volume by Douglas C. Schmidt, Kevlin Henney, Frank Buschmann

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 15. Concurrency

Concurrency

Autobahn A3, exit Duisburg-Wedau at night Siemens press picture, © Siemens AG

The choice of concurrency architecture has a significant impact on the design and performance of multi-threaded software in general, and distributed software in particular. No single concurrency architecture is suitable for all workload conditions and platforms, however. The four concurrency patterns in this chapter therefore address a variety of concurrency problems, ranging from combining asynchronous with synchronous concurrent processing to synchronizing access to shared components, while maximizing performance and throughput.

Software for distributed systems can often benefit from concurrency, in particular servers and server-side software that handles requests from multiple clients simultaneously. In addition, an increasing number of multi-core CPUs and multi-CPU computers are designed to run multiple threads of control in parallel to compensate for the stall in Moore's Law [Sut05a]. Developers of software for distributed systems therefore need to become proficient with process and thread management mechanisms.

A process is a collection of resources, such as virtual memory, I/O handles, and threads of control, that provide the context for executing program instructions. Each process serves as a unit of protection and resource allocation within a hardware-protected address space ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required