Chapter 5. Concurrency Design Dimensions

Chapter Synopsis

Concurrency is essential to develop scalable and robust networked applications, particularly servers. This chapter presents a domain analysis of concurrency design dimensions that address the policies and mechanisms governing the proper use of processes, threads, and synchronizers. We cover the following design dimensions in this chapter:

Iterative versus concurrent versus reactive servers

Processes versus threads

Process/thread spawning strategies

User versus kernel versus hybrid threading models

Time-shared versus real-time scheduling classes

Task- versus message-based architectures

5.1 Iterative, Concurrent, and Reactive Servers

Servers can be categorized as either iterative, ...

Get C++ Network Programming, Volume 1: Mastering Complexity with ACE and Patterns now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.