Skip to main content

Pattern-Oriented Software Architecture, Volume 2, Patterns for Concurrent and Networked Objects

Pattern-Oriented Software Architecture, Volume 2, Patterns for Concurrent and Networked Objects

Douglas C. Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann

ISBN: 978-1-118-72517-7 April 2013 450 Pages




Designing application and middleware software to run in concurrent and networked environments is a significant challenge to software developers. The patterns catalogued in this second volume of Pattern-Oriented Software Architectures (POSA) form the basis of a pattern language that addresses issues associated with concurrency and networking.

The book presents 17 interrelated patterns ranging from idioms through architectural designs. They cover core elements of building concurrent and network systems: service access and configuration, event handling, synchronization,

and concurrency. All patterns present extensive examples and known uses in multiple programming languages, including C++, C, and Java.

The book can be used to tackle specific software development problems or read from cover to cover to provide a fundamental understanding of the best practices for constructing concurrent and networked applications and middleware.

About the Authors

This book has been written by the award winning team responsible for the first POSA volume "A System of Patterns", joined in this volume by Douglas C. Schmidt from University of California, Irvine (UCI), USA.

Visit our Web Page
About This Book

About The Authors

Guide To The Reader

1 Concurrent and Distributed Objects

2 The Patterns

2.1 Introduction

2.2 Service Access Patterns

Wrapper Facade

Extension Interface


2.3 Event Handling Patterns



Asynchronous Completion Token

2.4 Initialization Patterns



Component Configurator

2.5 Synchronization Patterns

Scoped Locking

Strategized Locking

Thread-Safe Interface

Double Checked Locking Optimization

2.6 Concurrency Patterns

Active Object

Monitor Object


Half Sync/Half-Async

Thread-Specific Storage

3 Tying the Patterns Together

3.1 From Individual Patterns To Pattern Languages

3.2 A Pattern Language for Distributed

Object Computing

3.3 Beyond Networking, Distribution,

and Concurrency




Index of Patterns

"This book is one of the more important contributions to the literature on 'patterns' and deserves to become a standard text on its specified area of interest."
-- Overload, September 2000

"Let me Start by saying that I highly recommend this book. If you are a reader of the expanding literature on pattern-oriented software design, rush out and buy this book! This book has the potential to be a seminal volume." --Glenn E. Mitchell II, Ph.D.: Microsoft Office Pro;; (5/30/01)