Interlocked Variable Access
The functions
InterlockedCompareExchange,
InterlockedExchangeAdd,
InterlockedDecrement,
InterlockedExchange, and
InterlockedIncrement provide a simple mechanism for synchronizing access to a variable that is
shared by multiple threads. The threads of different processes can use this
mechanism if the variable is in shared memory.
The
InterlockedIncrement and
InterlockedDecrement functions combine the operations of incrementing or decrementing the variable
and checking the resulting value. This atomic operation is useful in a
multitasking operating system, in which the system can interrupt one thread's
execution to grant a slice of processor time to another thread. Without such
synchronization, one thread could increment a variable but be interrupted by the system
before it can check the resulting value of the variable. A second thread could
then increment the same variable. When the first thread receives its next
timeslice, it will check the value of the variable, which has now been incremented
not once but twice. The interlocked variable-access functions protect against
this kind of error.
The
InterlockedExchange function atomically exchanges the values of the specified variables. The
InterlockedExchangeAdd function combines two operations: adding two variables together and storing
the result in one of the variables.
The
InterlockedCompareExchange function combines two operations: comparing two values and storing a third
value in one of the variables, based on the outcome of the comparison.
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database