Concurrent Programming Introducing some principles of reentrancy, mutual exclusion and thread-synchronization.