What is the name of the Linux kernel's implementation of POSIX threads?

The story behind the answer

The Linux implementation of POSIX threads is called the Native POSIX Thread Library, or NPTL.

NPTL was developed to replace LinuxThreads, an older threading implementation that only partially satisfied the POSIX standard. LinuxThreads had important shortcomings involving signal handling, scheduling, and inter-process synchronization. NPTL addressed these issues with closer cooperation between the Linux kernel and the GNU C Library.

NPTL uses a one-to-one threading model: each user-space thread corresponds to a schedulable entity in the kernel. It creates threads through the clone system call and relies heavily on futexes, which let common synchronization operations happen efficiently in user space while still supporting kernel-assisted waiting.

NPTL first appeared in Red Hat Linux 9 and became part of the Linux 2.6 era. It is now integrated into glibc, so modern Linux programmers normally use the pthreads API while glibc supplies the underlying implementation. “pthreads” names the POSIX API itself, and LinuxThreads names the predecessor; neither is the canonical name for the modern implementation.

Source: Wikipedia · fact-checked Aug. 2026

Add question to a list

Choose a list to keep this question in: