12.6. 古いバージョンの C++ の使用

C++11 より前のバージョンでは、C++ のスレッドに対する標準サポートがありませんでした。スレッド数には AMQ C++ を使用できますが、以下の制限があります。

  • コンテナーはスレッドを作成しません。container::run() を呼び出す単一のスレッドのみを使用します。
  • container および work_queue を含む、AMQ C++ ライブラリークラスはいずれもスレッドセーフになります。複数のスレッドで container を使用するには、外部ロックが必要です。例外は connection::wake() のみです。これは、古い C++ であってもスレッドセーフです。

container::schedule() および work_queue API は、C++11 lambda 関数を使用して作業単位を定義します。lambda をサポートしないバージョンの C++ を使用している場合は、代わりに make_work() 関数を使用する必要があります。