12 Parallel Containers
EVERY PROGRAM NEEDS containers to hold interesting data. And while it’s not necessarily always true that all parallel programs need parallel containers, frequently they do. A parallel container usually differs from ordinary sequential ones—such as those available in the C++ Standard Template Library (STL) or .NET’s
System.Collections.Generic namespace—in several ways:
• The container provides scalable access. Ordinary containers are usually not safe for concurrent access. And even if they are, most general purpose libraries that offer containers safe for concurrent access favor single threaded performance over scalability. This is true of the .NET 1.0 nongeneric collection types that provided “synchronized” wrappers ...