Software and the Concurrency Revolution Focuses on the implications of concurrency for software and its consequences for both programming languages and programmers. (Herb Sutter and James Larus) http://acmqueue.com/modules.php?name=Content&pa=showpage&pid=332 Acmqueue.com~Site InfoWhoisTrace RouteRBL Check
It's (Not) All Been Done Every decade or so there is a major revolution in the way software is developed. But, unlike the object and web revolutions, the concurrency revolution can be seen coming. http://www.gotw.ca/publications/guest-ed-200609.htm Gotw.ca~Site InfoWhoisTrace RouteRBL Check
The Problem with Threads Argues that for concurrent programming to become mainstream, threads must be discarded as a programming model. Nondeterminism should be judiciously and carefully introduced where needed, and it should be explicit in programs. http://www.computer.org/portal/site/computer/menuitem.5d61c1d591162e4b0ef1bd108bcd45f3/index.jsp?&pName=computer_level1_article&TheCat=1005&path=computer/homepage/0506&file=cover.xml&xsl=article.xsl& Computer.org~Site InfoWhoisTrace RouteRBL Check
Portable Thread Synchronization using C++ Provides example C++ classes implementing a series of synchronization objects useful for building portable (Solaris and Win32) multithreaded applications. http://www.frostbytes.com/~jimf/papers/c++sync/c++sync.html Frostbytes.com~Site InfoWhoisTrace RouteRBL Check
Generic Synchronization Policies in C++ Most uses of synchronization code in multi-threaded applications fall into a small number of high-level “usage patterns”, or what can be called generic synchronization policies (GSPs). This paper illustrates how the use of such GSPs simplify the writing http://www.ciaranmchale.com/gsp/ Ciaranmchale.com~Site InfoWhoisTrace RouteRBL Check
Concurrency with Erlang To avoid problems with shared state working with multiple threads, Vinoski recommends a programming language like Erlang rather than C++ or Java. http://dsonline.computer.org/portal/site/dsonline/menuitem.9ed3d9924aeb0dcd82ccc6716bbe36ec/index.jsp?&pName=dso_level1&path=dsonline/2007/10&file=w5tow.xml&xsl=article.xsl& Computer.org~Site InfoWhoisTrace RouteRBL Check
Apply Critical Sections Consistently Critical sections are the One True Tool for guaranteeing mutual exclusion on shared variables. Like most tools, these must be applied consistently, and with the intended meanings. http://www.ddj.com/cpp/202401098 Ddj.com~Site InfoWhoisTrace RouteRBL Check