Locking

From ReactOS
Jump to: navigation, search

Locking mechanisms allow two or more pieces of code that are executing (usually as separate threads) to have exclusive (or shared) access to a particular resource (usually a piece of memory). Locking can be totally exclusive, shared amongst a group of code and/or shared for read but exclusive for write. The most common locking mechanisms in the NT Kernel are the:

Lock Description
Spinlock
Queued Spinlock
Mutex
Fast Mutex
Guarded Mutex A dispatcher object in Windows NT 5.2 and higher. Similar to a Fast Mutex, it does not raise IRQL, but instead disables APCs for that thread by incrementing KTHREAD.ApcDisable.
Resource
Pushlock

See Also

Synchronization Techniques on MSDN

This page is a short article on something that should have a lot more information written on it.
If you know anything else about it, you are STRONGLY encouraged to add the information in. If you are unsure of proper formatting or style, add it to the talk page or this page itself as you think best and others will help.

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox