現在のタスクを中断し、別のタスクの実行を優先するように指示します。
説明
taskyield 構造はスタンドアロン・プラグマで、プログラムで使用する場合にはいくつかの制限があります。
- #pragma omp taskyield は、C++ 実行文が許可されている場所にのみ追加できます。
- #pragma omp taskyield は、if 文のアクション文として使用したり、プログラムで参照されるラベルの実行文として使用することはできません。
taskyield 構造は、現在のタスク領域にバインドします。
taskyield 構造のバインドスレッドは、現在のチームです。
taskyield 構造には、現在のタスク領域の明示的なタスク・スケジューリング・ポイントが含まれます。
例:
#pragma omp task
{
long_function();
#pragma omp taskyield // allow task to be suspended, if needed
long_function2();
}