|
What do we have in this session?
As one of the important topics related to Windows
process and thread, this tutorial tries to explain the details of the
process and thread synchronization techniques used in Windows. The
program examples also try to demonstrate several 'issues' related to
concurrency that exists such as deadlock, race condition, starvation
etc. and how the synchronization methods used can 'reduce' those
problems.
-
-
Atomicity
Windows Thread States
-
Single-object Wait Functions
Multiple-object Wait Functions
Alertable Wait Functions
Registered Wait Functions
Wait Functions and Time-out Intervals
Wait Functions and Synchronization Objects
Wait Functions and Creating Windows
-
Events
-
-
Object Names
Object Inheritance
Object Duplication
Other Synchronization Mechanisms
Synchronization and Overlapped Input and Output
-
Synchronization Internals
Critical Section Objects
-
Slim Reader/Writer (SRW) Locks
One-Time Initialization
One-Time Initialization: Synchronous Mode
One-Time Initialization: Asynchronous Mode
-
The Interlocked API
Interlocked Singly Linked Lists
Timer Queues
-
Race Condition Program Example
-
Liveness
Deadlock Example - The Dining Philosophers
-
-
Livelock
Program Examples on Using Synchronization Objects
-
-
-
-
The First Process Program Example
-
-
-
-
-
-
-
Starvation Issue
The Six philosophers with Semaphore Program Example
-
-
-
-
-
-
-
The Synchronous Example
-
-
-
-
-
-
-
Creating a Single Thread Program Example
-
-
-
Some Notes for IA64
-
-
-
-
Terminal Server and Naming Semaphore Objects
-
Managing Thread Priorities in Windows
-
Thread Scheduling Program Example
-
Multiple Threads Example
More: Synchronization Reference
|