Native POSIX Thread Library
Linuxカーネル 2.4 以前では、プロセスがスケジュール対象であり、スレッドはカーネルでは扱われていなかった。しかし、2.6 で clone() システムコールがサポートされ、アドレス空間を共有したプロセスのコピーを作成できるようになった。LinuxThreadsプロジェクトはこのシステムコールを使って、カーネルレベルのスレッドをサポートした(それ以前のLinuxでは、POSIXスレッドはユーザーランドで実装されていた)。しかし、POSIXに完全準拠するには問題が多く、特にシグナル制御、スケジューリング、プロセス間同期プリミティブに問題があった。
LinuxThreads の改善には、カーネルサポートとスレッドライブラリの書き換えが必要であることは明らかであった。この要求を満たすべく、2つの競合するプロジェクトが開始された。NGPT(Next Generation POSIX Threads)はIBMを中心とするチームが行い、NPTL はレッドハットが行った。NGPT は2003年中ごろに中止となり、同じころ NPTL がリリースされた。
NPTL は Red Hat Linux 9 で最初にリリースされた。従来の Linux でのPOSIXスレッドは、プロセッサが空いていても使えないことがあり、Windows の方が実装としては優れているとされていた。レッドハットは NPTL がこの問題を解決したとJavaに関するウェブサイトの記事で主張した。
NPTL は Red Hat Enterprise Linux のバージョン3から搭載され、現在では GNU Cライブラリの一部となっている。