Chapters: History, sequential programming, concurrent programming, error handling, advanced topics
They say it takes four days to complete the course. If you know a little Prolog and a little LISP it takes you rather a few hours.
The Java™ programming language made starting a new thread easier than ever before. But freeing your concurrent programs of obscure bugs is a different matter, and Java's programming model might not be the best available. A language called Erlang is getting some good press now in the areas of concurrency, distributed systems, and soft real-time systems.
Candygram is a Python implementation of Erlang concurrency primitives. Erlang is widely respected for its elegant built-in facilities for concurrent programming. This package attempts to emulate those facilities as closely as possible in Python. With Candygram, developers can send and receive messages between threads using semantics nearly identical to those in the Erlang language.
The C++ standardization committee is hard at work standardizing threads for the next version of C++. Some members recently met to discuss the issues, and The C++ Source was there. Read on to learn what the world’s leading experts on concurrency are plan
I participated in the design and development of a couple of concurrency libraries for shared-memory multiprocessors long before such machines were popular. So when I started using java.util.concurrent I was already somewhat comfortable with the concepts.
This package is the backport of java.util.concurrent API, introduced in Java 5.0 and further refined in Java 6.0, to older Java platforms. The backport is based on public-domain sources from the JSR 166 CVS repository, the dl.util.concurrent package, and
A collection of Concurrent and Highly Scalable Utilities. These are intended as direct replacements for the java.util.* or java.util.concurrent.* collections but with better performance when many CPUs are using the collection concurrently.
M. Herlihy. PODC '06: Proceedings of the twenty-fifth annual ACM symposium on Principles of distributed computing, page 1--2. New York, NY, USA, ACM, (2006)
R. Blumofe, C. Joerg, B. Kuszmaul, C. Leiserson, K. Randall, and Y. Zhou. Proceedings of the Fifth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), 30, page 207--216. New York, NY, USA, ACM, (July 1995)
J. Bezivin. OOPSLA '87: Conference proceedings on Object-oriented programming systems, languages and applications, page 394--405. New York, NY, USA, ACM, (1987)
M. Scott, T. LeBlanc, and B. Marsh. PPOPP '90: Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming, page 70--78. New York, NY, USA, ACM, (1990)
R. Kaiabachev, and B. Richards. Proc. of Fifteenth IASTED International Conference on Parallel and Distributed Computing and Systems, page 648-653. Marina del Ray, CA, USA, (November 2003)
M. Miller, E. Tribble, and J. Shapiro. Symposium on Trustworthy Global Computing, volume 3705 of Lecture Notes in Computer Science, page 195--229. Springer, (April 2005)
H. Schippers, T. Van Cutsem, S. Marr, M. Haupt, and R. Hirschfeld. Proceedings of the Fourth Workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS), page 4--9. ACM, (Jul 6, 2009)
S. Dekeyser, and J. Hidders. ADC '04: Proceedings of the fifteenth Australasian database conference, page 93--101. Darlinghurst, Australia, Australia, Australian Computer Society, Inc., (2004)
M. Herlihy, and J. Wing. POPL '87: Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, page 13--26. New York, NY, USA, ACM, (1987)
S. Marr, M. Haupt, and T. D'Hondt. Proceedings of the 3rd Workshop on Virtual Machines and Intermediate Languages, page 3:1--3:2. New York, NY, USA, ACM, (October 2009)(extended abstract).
P. Damron, A. Fedorova, Y. Lev, V. Luchangco, M. Moir, and D. Nussbaum. ASPLOS-XII: Proceedings of the 12th international conference on Architectural support for programming languages and operating systems, page 336--346. New York, NY, USA, ACM, (2006)