[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'System' (#rtl)

# InterlockedIncrement

Thread-safe increment

## Declaration

Source position: systemh.inc line 1430

`function InterlockedIncrement(`
`var Target: LongInt`
`):LongInt; function InterlockedIncrement(`
`var Target: Pointer`
`):Pointer; function InterlockedIncrement(`
`var Target: Cardinal`
`):Cardinal;`

## Description

InterLockedIncrement increments Target with 1 and returns the result. This is done in a thread-safe way (i.e. only one processor is accessing the variable at a time).

## Errors

None.

## See also

InterLockedDecrement |  | Thread-safe decrement
InterLockedExchange |  | Exchange 2 integers in a thread-safe way
InterLockedExchangeAdd |  | Thread-safe add and exchange of 2 values
InterlockedCompareExchange |  | Conditional exchange