ThreadX provides 32-bit counting semaphores with counts that range in value from 0 to 232 − 1, or 4,294,967,295 (inclusive). There are two operations that affect the values of counting semaphores: tx_semaphore_get and tx_semaphore_put. The get operation decreases the semaphore by one. If the semaphore is 0, the get operation fails. The inverse of the get operation is the put operation, which increases the semaphore by one.