Native POSIX Thread Library
NPTL では、カーネルには依然としてプロセスをスケジューリング対象としているように見せ、スレッドを clone() システムコールで生成する(NPTLライブラリから呼び出す)。ただし、カーネルサポートが必要な同期プリミティブなどを新たに追加している。このプリミティブを futex と呼ぶ。
NPTL は、いわゆる 1×1 スレッドライブラリであり、ユーザーが pthread_create() で生成するスレッドは全てカーネル内のプロセスに対応している。これはスレッド実装としては最も単純である。
NPTL の 1×1 モデル以外に、m×n モデルがあり、その場合はユーザーランドのスレッド数がカーネル内でスケジュール対象となるスレッド数よりも多くなる。この場合、スレッドライブラリがユーザースレッドのスケジューリングを行う。スレッド間のコンテキストスイッチが非常に高速になるが、ユーザーランドとカーネルの二段階でスケジュールを管理することで複雑さが増し、優先順位の逆転も起きやすくなる。