---
name: "ost_MutexCounter"
section: "3"
platform: "linux"
package: "libcommoncpp2-doc"
version: "1.8.1-10"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/ost_MutexCounter"
---

# ost\_MutexCounter(3)

The Mutex Counter is a counter variable which can safely be incremented or decremented by multiple threads.

## NAME

ost::MutexCounter - The **Mutex** **Counter** is a counter variable which can safely be incremented or decremented by multiple threads.

## SYNOPSIS

`#include <thread.h>`

Inherits **ost::Mutex**.

### Public Member Functions

**MutexCounter** (const char \*id=NULL)\
 Create and optionally name a mutex protected counter.  **MutexCounter** (int initial, const char \*id=NULL)\
 Create and optionally name a mutex protected counter with an initial value.

### Friends

**\_\_EXPORT** int **operator++** (**MutexCounter** &mc)\
 **\_\_EXPORT** int **operator--** (**MutexCounter** &mc)\

### Additional Inherited Members

## Detailed Description

The **Mutex** **Counter** is a counter variable which can safely be incremented or decremented by multiple threads.

A **Mutex** is used to protect access to the counter variable (an integer). An initial value can be specified for the counter, and it can be manipulated with the ++ and -- operators.

**Author**

David Sugar dyfet@ostel.com

**Thread** protected integer counter.

## Constructor & Destructor Documentation

### ost::MutexCounter::MutexCounter (const char \* id = `NULL`)

Create and optionally name a mutex protected counter.

**Parameters**

*id* name for mutex counter, optional for deadlock testing.

### ost::MutexCounter::MutexCounter (int initial, const char \* id = `NULL`)

Create and optionally name a mutex protected counter with an initial value.

**Parameters**

*initial* value of counter. \
 *id* name of counter, optional for deadlock testing.

## Friends And Related Function Documentation

### \_\_EXPORT int operator++ (MutexCounter & mc)` [friend]`

### \_\_EXPORT int operator-- (MutexCounter & mc)` [friend]`

## Author

Generated automatically by Doxygen for GNU CommonC++ from the source code.
