Lock that can be acquired repeatedly by same thread.

Monitoring multiple I/O sources efficiently.

Current execution state of a process.

Using two buffers to smooth processing.

Lock supporting repeated acquisition by its owner.

System call monitoring multiple file descriptors.

Process ready to execute.

Reusable collection of data buffers.

Number of permits available in a semaphore.

Mechanism for checking multiple I/O sources.