The QNX Neutrino RTOS provides the POSIX-standard thread-level synchronization primitives, some of which are useful even between threads in different processes.
The synchronization services include at least the following:
| Synchronization service | Supported between processes | Supported across a QNX Neutrino LAN |
|---|---|---|
| Mutexes | Yes | No |
| Condvars | Yes | No |
| Barriers | Yes | No |
| Sleepon locks | No | No |
| Reader/writer locks | Yes | No |
| Semaphores | Yes | Yes (named only) |
| FIFO scheduling | Yes | No |
| Send/Receive/Reply | Yes | Yes |
| Atomic operations | Yes | No |
The above synchronization primitives are implemented directly by the kernel, except for: