C++ ライブラリ・リファレンス

マルチスレッド

マルチスレッド (MT) は、マルチプロセッサ上で実行するアプリケーションを高速化する強力な機能です。マルチスレッド機能を使用することにより、マルチプロセッサとシングルプロセッサの両方のアプリケーションの構造を簡素化することができます。iostream ライブラリが修正されたため、マルチスレッド環境で実行するアプリケーション、すなわち Solaris 2.2、2.3、2.4、2.5、2.5.1、2.6、7 で実行するときにマルチスレッド機能を利用するプログラムで、libC ライブラリのインタフェースを使用することができるようになりました。iostream インタフェースは変更されましたが、旧バージョンのシングルスレッド機能だけを使用するアプリケーションには影響ありません。

マルチスレッド環境で正しく実行するためには、ライブラリが 「MT-安全」として定義されていなければなりません。そのためには、一般にすべての公開関数が再入可能になっていなければなりません。libC ライブラリでは、複数のスレッドに共有されるオブジェクト (C++ クラスのインスタンス) の状態を変更しようとするマルチスレッドに対して、保護機能が提供されています。ただし、iostream オブジェクトの「MT-安全」のスコープは、オブジェクトの公開メンバー関数の実行中に限られます。


注意 - 注意 -

アプリケーションが、libC ライブラリの「MT-安全」オブジェクトを使用しているというだけで、自動的にマルチスレッド環境での安全性が保証されるわけではありません。アプリケーションが「MT-安全」となるのは、マルチスレッド環境での実行が想定されているアプリケーションの場合だけです。