マルチスレッドのプログラミング

マルチスレッドの標準への適合

マルチスレッドのプログラミングという概念の起源は、少なくとも 1960 年代にまでさかのぼります。マルチスレッドが UNIX システム上で開発されたのは 1980 年代の中期になります。マルチスレッドの意味とそのサポートに必要な機能については合意がありますが、マルチスレッドを実装するためのインタフェースはさまざまです。

この数年間、POSIX (Portable Operating System Interface) 1003.4a というグループによって、スレッドプログラミングの標準化についての作業が行われてきました。この標準はいまや承認されるに至っています。この『マルチスレッドのプログラミング』は、POSIX 規格の P1003.1b 最終草稿 14 (リアルタイム) と P1003.1c 最終草稿 10 (マルチスレッド) に基づいています。

このマニュアルは、POSIX スレッド (pthread とも言います) と Solaris スレッドの両方を対象にしています。Solaris スレッドは Solaris 2.4 以降のリリースで利用できますし、POSIX スレッドとも機能的に異なりません。しかし、Solaris スレッドより POSIX スレッドのほうが移植性が高いので、このマニュアルではマルチスレッドを POSIX の立場から解説しています。Solaris スレッドに固有な事柄については、第 9 章「Solaris スレッドを使ったプログラミング」で説明します。