バリア ポイントでスレッドを停止したいのですが、バリアが必要な場合にのみ停止したいと考えています。たとえば、特定のタイマー間隔の後、すべてのスレッドがバリアを形成するようにします。潜在的なバリアポイントを配置する方法はありますか? たとえば、各関数の開始時。私はこのようなものが欲しいです。
void some_function()
{
potentially_barrier_wait;
......
}
したがってpotentially_barrier_wait
、必要な場合にのみバリアを呼び出し、それ以外の場合potentially_barrier_wait
は何もしません。これは満足に実装できますか?これは、すでにバリアを持っているプログラムでも機能するのでしょうか、それとも競合するのでしょうか。