Conditional exchange.
Source position: systemh.inc line 1584
| function InterlockedCompareExchange( | 
| var Target: LongInt; | 
| NewValue: LongInt; | 
| Comperand: LongInt | 
| ):LongInt; | 
| var Target: Pointer; | 
| NewValue: Pointer; | 
| Comperand: Pointer | 
| ):Pointer; | 
| var Target: Cardinal; | 
| NewValue: Cardinal; | 
| Comperand: Cardinal | 
| ):Cardinal; | 
InterlockedCompareExchange does an compare-and-exchange operation on the specified values in a thread-safe way. The function compares Target and Comperand and exchanges Target with NewValue if Target and Comperand are equal. It returns the old value of Target. This is done in a thread-safe way, i.e., only one processor is accessing the Target variable at a time.
None.
| 
 | Thread-safe decrement. | |
| 
 | Thread-safe increment. | |
| 
 | Exchange 2 integers in a thread-safe way. | |
| 
 | Thread-safe add and exchange of 2 values. |