This article is from the Threads Programming FAQ, by Bryan O'Sullivan firstname.lastname@example.org with numerous contributions by others.
This family consists of three subgroups:
* "Real" POSIX threads, based on the IEEE POSIX 1003.1c-1995 (also
known as the ISO/IEC 9945-1:1996) standard, part of the ANSI/IEEE
1003.1, 1996 edition, standard. POSIX implementations are, not
surprisingly, the emerging standard on Unix systems.
+ POSIX threads are usually referred to as Pthreads.
+ You will often see POSIX threads referred to as POSIX.1c
threads, since 1003.1c is the section of the POSIX standard
that deals with threads.
+ You may also see references to draft 10 of POSIX.1c, which
became the standard.
* DCE threads are based on draft 4 (an early draft) of the POSIX
threads standard (which was originally named 1003.4a, and became
1003.1c upon standardisation). You may find these on some Unix
* Unix International (UI) threads, also known as Solaris threads,
are based on the Unix International threads standard (a close
relative of the POSIX standard). The only major Unix variants that
support UI threads are Solaris 2, from Sun, and UnixWare 2, from
Both DCE and UI threads are fairly compatible with the POSIX threads
standard, although converting from either to "real" POSIX threads will
require a moderate amount of work.
Those few tardy Unix vendors who do not yet ship POSIX threads
implementations are expected to do so "real soon now". If you are
developing multithreaded applications from scratch on Unix, you would
do well to use POSIX threads.