Computer Science BooksConcurrent Programming Books

Concurrent Programming Class Notes

Concurrent Programming Class Notes

Concurrent Programming Class Notes

This note focuses on Concurrent Programming, Parallel Programming, Multi-Processing and Multi-Threading. Topics covered includes: Thread, Properties of a Thread, Lifecycle of a process, Concurrent Hardware, Basic Uniprocessor, Multiprocessors, Basic Hardware, Kessel’s Algorithm, Java Threads Scheduling Model, Compiler Optimization and Mutlithreading, Ticket Algorithm, Bakery Algorithm, Semaphores, Concurrency Problems with Deadlock, Speculative Multithreading (SpMT),Lifecycle of a process, Achieving good performances, Concurrent Hardware,  Granularity,  Atomicity,  Race Conditions,  Mutual Exclusion,  Brief Interruption to Introduce Java and PThreads, Java Threads Scheduling Model, Compiler Optimization and Mutlithreading, PThreads, Execution Scheduling Policies, Contention Scope,  Properties of Mutual Exclusion algorithms, Ticket Algorithm, Bakery Algorithm, Hardware Support for Concurrency, Splitter, Practical Lock Design, Tasuki Locks, Barrier, Semaphores, Condition Variables, Broadcasting, Building Semaphores using Monitors, Using Multiple Condition Variables, Readers and Writers Problem, Concurrency Problems with Deadlock, Dining Philosophers, Deadlock Solution, Scheduling and Priorities, Scheduling Guarantees, Priorities, Termination and Suspension, Miscellanous Issues,Memory Consistency, Relaxed Models,  Building Correctly Synchronized Programs,  Java Concurrency API, Condition Variable, Concurrent Data Structures, Message Passing, Process Algebra, Homogenous actors, Irregular Actors

Author(s):

s110 Pages
Similar Books
Concurrent Programming Class Notes (PDF 110P)

Concurrent Programming Class Notes (PDF 110P)

These class notes give a course outline that is conducted in-depth on concurrent programming. They include the basic concepts of parallel programming, multi-processing, and multi-threading. Threads' definitions and properties are presented, such as lifecycle processes and the structure of concurrent hardware architecture. The basic algorithms form the foundation, including Kessel's and ticket algorithms, with semantic and the bakery algorithm as the key synchronization tools. Another topic that the material will be discussing about concurrency issues is deadlock and speculative multithreading. This book is a resource on getting an easy-to-access introduction to concurrent programming principles; it is excellent for student and professional readers who want to learn about how to effectively manage concurrent processes in software applications.

s110 Pages
Concurrent and Distributed Programming

Concurrent and Distributed Programming

This web resource is a comprehensive tutorial on concurrent and distributed programming with all basics illustrated with practical examples. It starts with an overview of concurrency, illustrating critical principles with simple programming examples. Notes provide overviews of several programming languages-including C, C++, Java, Ada, and Perl-showing how each approaches concurrency. It encompasses mutual exclusion, message passing, and both the standard and an enhanced version of the classic Dining Philosophers problem. It also touches on threading in Java and Ada as well as introduces the POSIX threads library (pthreads) for C programs. This book is perfect for students and practitioners who need to know the underpinning of concurrent programming in different environments.

sNA Pages