This document, "DEC OSF/1 Guide to DECthreads" (Part Number: AA-Q2DPA-TK, February 1994), serves as a comprehensive manual for programmers using Digital Equipment Corporation's (DEC) Multithreading Run-Time Library, DECthreads.
The manual is organized into four parts and appendixes:
- Part I: DECthreads Overview and Programming Guidelines introduces multithreaded programming concepts, including what threads are, the advantages of using DECthreads, thread execution, and various software models (Boss/Worker, Work Crew, Pipelining) for multithreaded applications. It also details thread concepts and operations like creation, termination, and managing thread attributes (scheduling, stack size, guard size). Synchronization objects like mutexes and condition variables are explained, along with advanced topics like one-time initialization, thread-specific data, thread cancellation, and scheduling. This section also addresses potential problems in multithreaded programming such as deadlocks, race conditions, and priority inversion, and provides guidance on converting code to be thread-safe.
- Part II: POSIX 1003.4a (pthread) Reference provides detailed alphabetical reference information for each DECthreads
pthread routine, based on Draft 4 of the proposed IEEE standard for multithreaded programming (POSIX 1003.4a).
- Part III: Digital Proprietary Interface Reference offers detailed alphabetical reference information for each DECthreads
cma routine, which is Digital's proprietary interface designed for stable, upwardly compatible multithreading operations.
- Part IV: DECthreads Library Reference (OpenVMS and DEC OSF/1 Systems Only) focuses on DECthreads Library routines, which are part of the Digital Proprietary Interface, specifically for OpenVMS and DEC OSF/1 systems.
The document also includes Appendixes discussing specific issues for UNIX-based systems (like compiling multithreaded applications and signal handling) and OpenVMS systems (like using AST routines and condition handlers), a list of DECthreads exceptions, and nonstandard data types. A Glossary is provided for definitions of terms used in the manual.
Essentially, this manual equips system and application programmers with the necessary guidelines and reference material to design, implement, debug, and optimize multithreaded programs using the DECthreads library on various Digital platforms.