In the Linux
operating system, LinuxThreads was a partial implementation of POSIX Threads
introduced in 1996. The main developer of LinuxThreads was Xavier Leroy
. It has been superseded by the Native POSIX Thread Library
LinuxThreads had a number of problems, mainly owing to the implementation, which used the clone
system call to create a new process
sharing the parent's address space
. For example, threads had distinct process identifier
s, causing problems for signal
handling; LinuxThreads used the signals SIGUSR1
for inter-thread coordination, meaning these signals could not be used by programs.
To improve the situation, two competing projects were started to develop a replacement; NGPT
(Next Generation POSIX Threads) and NPTL
. NPTL won out and is today shipped with the vast majority of Linux systems. , LinuxThreads may still be seen on production systems, particularly those using version 2.4 or lower of the Linux kernel
, as NPTL requires facilities which were specifically added into the 2.6 version of the kernel for its use.
LinuxThreads was also ported to and used on FreeBSD.
[LinuxThreads on FreeBS]
The LinuxThreads library
Xavier Leroy Home Page
Linux threading models compared: LinuxThreads and NPTL