POSIXスレッド

POSIXスレッド は、スレッドのPOSIX標準である。スレッド生成やスレッド操作の API を定義している。
POSIXスレッド標準を実装したライブラリは Pthreads と呼ばれることが多い。Pthreads は主にUnix系POSIXシステム（Linux や Solaris）で使われているが、Microsoft Windows 用実装も存在する。例えば、pthreads-w32 は Pthreads の API のサブセットをサポートしている。
内容.
Pthreads はC言語のデータ型、関数、定数を定義している。その実装は codice_1 というヘッダファイルとスレッドライブラリにある。スレッドのスリープは unistd.h の sleep() もしくは time.h の nanosleep() を使用する。
データ型:
スレッド操作関数（引数は省略）:
同期関数: mutex
同期関数: 条件変数
スレッドローカルデータ:
Read/Writeロック
ユーティリティ関数:
例.
C言語で Pthreads を使ったコード例を示す。
static void *thread_func(void *vptr_args) {
 int i;
 for (i = 0; i < 20; i++) {
 fputs(" b\n", stderr);
 sleep(1);
 return NULL;
int main(void) {
 int i;
 pthread_t thread;
 if (pthread_create(&thread, NULL, thread_func, NULL) != 0) {
 return EXIT_FAILURE;
 for (i = 0; i < 20; i++) {
 puts("a");
 sleep(1);
 if (pthread_join(thread, NULL) != 0) {
 return EXIT_FAILURE;
 return EXIT_SUCCESS;
このプログラムは、'b' を1秒ごとに20回表示する新たなスレッドを生成し、同時にメインスレッドは 'a' を1秒ごとに20回表示する。出力は、2つのスレッドが並行動作することで 'a' と 'b' が入り混じったものになる。