Concurrent Programming: Principles and Practice - This book provides an in-depth overview of underlying principles as well as practical techniques that can be used to design concurrent programs. (Greg Andrews)
Designing a Thread Class in C++ - Resources on designing a thread class in C++. Provides introduction, basic approach, implementation and using the class thread in C++.
Foundations of Multithreaded, Parallel, and Distributed Programming - This book teaches the fundamental concepts of multithreaded, parallel and distributed computing. Emphasizes how to solve problems, with correctness the primary concern and performance an important, but secondary, concern. (Gregory R. Andrews)
OpenTop C++ Library - Multi-threading - A part cross-platform C++ library providing high-performance and portable classes for multi-threading by creating a common wrapper around Windows and POSIX threads, exposing an interface modelled on the popular Java abstractions. Cross-platform support for Java-style synchronization is provided in addition to mutexes and Unix-style condition variables. [Commercial]
Portable Thread Synchronization using C++ - Provides example C++ classes implementing a series of synchronization objects useful for building portable (Solaris and Win32) multithreaded applications.
Priority Inheritance Protocols - Use of synchronization mechanisms like semaphores, monitors, and critical regions can lead to uncontrolled priority inversion. [PDF file]
RT++ - Higher order threads for C++; tutorial and reference manual.
State Threads Library - A small application library for writing fast and highly scalable Internet applications on UNIX-like platforms. [Open source, MPL or GPL]
Survey of Threads - Comparing Solaris, Linux, and Windows NT threads.