ComputingComputer ScienceComputer ArchitectureParallel ComputingProgramming LanguagesConcurrency ControlConcurrent ProgrammingInterprocess CommunicationSynchronization PrimitivesThread ManagementThread ProgrammingConcurrency PrimitivesConcurrent ComputationParallel Program SynchronizationProcess Synchronization PrimitivesShared Memory ProgrammingSynchronization MechanismsThreadThread Synchronization
This paper provides an introduction to writing concurrent programs with "threads". A threads facility allows you to write programs with multiple simultaneous points of execution, synchronizing through shared memory. The paper describes the basic thread and synchronization primitives, then for each primitive provides a tutorial on how to use it. The tutorial sections provide advice on the best ways to use the primitives, give warnings about what can go wrong and offer hints about how to avoid these pitfalls. The paper is aimed at experienced programmers who want to acquire practical expertise in writing concurrent programs.
12
Implementing remote procedure calls
Andrew Birrell, Bruce Jay Nelson · ACM Transactions on Computer Systems · 1984 · 1.8K citations · Full text
Mach: A New Kernel Foundation for UNIX Development.
Michael J. Accetta, R. Baron, William J. Bolosky et al. · USENIX Summer · 1986 · 919 citations
Experience with processes and monitors in Mesa
Butler Lampson, David D. Redell · Communications of the ACM · 1980 · 403 citations · Full text
The Larch Family of Specification Languages
John V. Guttag, J. J. Horning, J.M. Wing · IEEE Software · 1985 · 278 citations
A New Kernel Foundation for Unix Development
M. J. Accetta · Medical Entomology and Zoology · 1986 · 215 citations