PTypes provides a minimal set of utility objects for creating complex multithreaded and event-driven applications. In addition to threads and inter-thread synchronization primitives semaphore, mutex, rwlock and trigger the library also allows you to create message queues (msgqueue) typically used in windowed or other event-driven environments.
The implementation of threads and sync objects is quite different on Windows, Unix and MacOS X. When an operating system lacks one of the features, PTypes implements it using the other primitives present in that OS. Please, see include/pasync.h for the implementation cross-reference of the synchronization primitives.
PTypes' message queue is implemented in the library and does not use any specific system-level functionality.
The multithreading classes are declared in <pasync.h>.