## Interlocked::ExchangeAdd(int32_t\&, int32_t) method


Increases value atomically via exchange-add procedure.

```cpp
static int32_t System::Threading::Interlocked::ExchangeAdd(int32_t &location1, int32_t value)
```


| Parameter | Type | Description |
| --- | --- | --- |
| location1 | int32_t\& | Variable reference to increase. |
| value | int32_t | Value to add to **location1**. |

### ReturnValue

Value of variable right after it was increased.

## See Also

* Class [Interlocked](../)
* Namespace [System::Threading](../../)
* Library [Aspose.PDF for C++](../../../)
## Interlocked::ExchangeAdd(int64_t\&, int64_t) method


Increases value atomically via exchange-add procedure.

```cpp
static int64_t System::Threading::Interlocked::ExchangeAdd(int64_t &location1, int64_t value)
```


| Parameter | Type | Description |
| --- | --- | --- |
| location1 | int64_t\& | Variable reference to increase. |
| value | int64_t | Value to add to **location1**. |

### ReturnValue

Value of variable right after it was increased.

## See Also

* Class [Interlocked](../)
* Namespace [System::Threading](../../)
* Library [Aspose.PDF for C++](../../../)
