概要

Boost.Coroutine2は、任意の位置で実行の停止と再開ができる一般化サブルーチンを実現するためのテンプレートを提供します。これは実行のローカル状態を保存し、サブルーチンへの再入を何度でも可能にします(関数呼び出しを超えて状態を維持する必要があるときに便利です)。

コルーチンは、特殊な種類の制御フローを提供する言語レベルの構文であると見なせます。

スレッドがプリエンプティブ・マルチタスクであるのに対し、コルーチンは協調的マルチタスク(コンテキストスイッチがいつ起こるのかを、プログラマーが制御します)です。カーネルがコルーチンの切り替えに影響をおよぼすことはありません。

実装には、コンテキストスイッチのためにBoost.Contextを使っています。

ここで説明されるクラスや関数を使うには、各クラスや関数の説明に書かれた特定のヘッダーをインクルードするか、あるいはマスターライブラリヘッダーをインクルードしてください:

#include <boost/coroutine2/all.hpp>

これはすべての他のヘッダーを順々にインクルードします。

すべての関数とクラスは、名前空間 boost::coroutines2 に含まれています。

注釈

Boost.Coroutine2は、C++11を要求します!

results matching ""

    No results matching ""