The result is a unified concurrency model providing both thread abstractions and event abstractions. We implemented the unified concurrency model in Haskell Our implementation demonstrates how to use these techniques by building an application-level thread library with support for multiprocessing and asynchronous I/O mechanisms in Linux. The thread library is type-safe, is relatively simple to implement, and has good performance. Application-level threads are extremely lightweight (scaling to 10,000,000 threads!) and our scheduler, which is implemented as a modular and extensible event-driven system, outperforms NPTL in I/O benchmarks.
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
A full stack, reactive architecture for general purpose programming. Algebraic and monadically composable primitives for concurrency, parallelism, event handling, transactions, multithreading, Web, and distributed computing with complete de-inversion of control (No callbacks, no blocking, pure state)
This is an Erlang solution to "The Santa Claus problem", % as discussed by Simon Peyton Jones (with a Haskell solution using % Software Transactional Memory) in "Beautiful code". % He quotes J.A.Trono "A new exercise in concurrency", SIGCSE 26:8-10, 1994.
I didn't see anyone post them yet, so here are the slides from Tim Sweeney's POPL talk entitled "The Next Mainstream Programming Languages: A Game Developer's Perspective". I know Tim and I aren't the only game developers who follow LtU, and I figure even non-game developers might find them quite interesting!
The Little Book of Semaphores is a free (in both senses of the word) textbook that introduces the principles of synchronization for concurrent programming.
In most computer science curricula, synchronization is a module in an Operating Systems class. OS textbooks present a standard set of problems with a standard set of solutions, but most students don't get a good understanding of the material or the ability to solve similar problems.
The approach of this book is to identify patterns that are useful for a variety of synchronization problems and then show how they can be assembled into solutions. After each problem, the book offers a hint before showing a solution, giving students a better chance of discovering solutions on their own.
The book covers the classical problems, including "Readers-writers", "Producer-consumer", and "Dining Philosophers". In addition, it collects a number of not-so-classical problems, some written by the author and some by other teachers and textbook writers. Readers are invited to create and submit new problems.
R. von Behren, J. Condit, и E. Brewer. Proceedings of the 9th conference on Hot Topics in Operating Systems - Volume 9, стр. 4. Berkeley, CA, USA, USENIX Association, (2003)
S. Tasharofi, P. Dinges, и R. Johnson. ECOOP 2013 – Object-Oriented Programming, том 7920 из Lecture Notes in Computer Science, стр. 302-326. Springer Berlin Heidelberg, (2013)
S. Marr, M. De Wael, M. Haupt, и T. D'Hondt. Proceedings of the 5th Workshop on Virtual Machines and Intermediate Languages, стр. 341--348. ACM, (октября 2011)
S. Abramsky. Electronic Notes in Theoretical Computer Science, (2006)Proceedings of the Workshop "Essays on Algebraic Process Calculi" (APC 25)Proceedings of the Workshop "Essays on Algebraic Process Calculi" (APC 25).
C. Ritson, и J. Simpson. Communicating Process Architectures 2008, том 66 из Concurrent Systems Engineering Series, стр. 293--307. Amsterdam, The Netherlands, IOS Press, (сентября 2008)
B. Demsky, и P. Lam. Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1, стр. 395--404. New York, NY, USA, ACM, (2010)
S. Tasiran, A. Sezgin, и S. Quadeer. Design and Validation of Concurrent Systems, 09361, Dagstuhl, Germany, Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany, (2010)
T. Tu, X. Liu, L. Song, и Y. Zhang. Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS \textquotesingle19, ACM, (2019)
S. Tasharofi, R. Karmani, S. Lauterburg, A. Legay, D. Marinov, и G. Agha. Formal Techniques for Distributed Systems: Joint 14th IFIP WG 6.1 International Conference, FMOODS 2012 and 32nd IFIP WG 6.1 International Conference, FORTE 2012, Stockholm, Sweden, June 13-16, 2012. Proceedings, стр. 219--234. Springer, (2012)
J. Swalens, J. De Koster, и W. De Meuter. 30th European Conference on Object-Oriented Programming (ECOOP 2016), том 56 из Leibniz International Proceedings in Informatics (LIPIcs), стр. 23:1--23:28. Dagstuhl, Germany, Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik, (2016)