pthreads defines a set of C programming language types, functions and constants. It is implemented with a pthread.h
header and a thread library.
There are around 100 threads procedures, all prefixed pthread_
and they can be categorized into four groups:
- Thread management - creating, joining threads etc.
- Mutexes
- Condition variables
- Synchronization between threads using read/write locks and barriers
The POSIX semaphore API works with POSIX threads but is not part of threads standard, having been defined in the POSIX.1b, Real-time extensions (IEEE Std 1003.1b-1993) standard. Consequently, the semaphore procedures are prefixed by sem_
instead of pthread_
.
https://en.wikipedia.org/wiki/POSIX_Threads