英語版
このページの英語版を見る
core.sync.barrier
バリアモジュールは、スレッド群の進行を同期させるためのプリミティブを提供する。
プリミティブを提供する。
License:
Authors:
Sean Kelly
- class
Barrier
; - このクラスは、スレッドが特定のサイズのグループでのみ移動できる グループでのみ移動できるバリアを表す。Examples:
import core.thread; int numThreads = 10; auto barrier = new Barrier( numThreads ); auto synInfo = new Object; int numReady = 0; int numPassed = 0; void threadFn() { synchronized( synInfo ) { ++numReady; } barrier.wait(); synchronized( synInfo ) { ++numPassed; } } auto group = new ThreadGroup; for ( int i = 0; i < numThreads; ++i ) { group.create( &threadFn ); } group.joinAll(); assert( numReady == numThreads && numPassed == numThreads );
- this(uint
limit
); - バリアオブジェクトを初期化する。 のグループでスレッドを解放するバリアオブジェクトを初期化する。Parameters:
uint limit
解放待ちスレッドの数を指定する。 Throws:エラー時にSyncError。 - void
wait
(); - あらかじめ決められたスレッド数を待ってから処理を進める。Throws:エラー時にSyncError。
Copyright © 1999-2024 by the D Language Foundation
DEEPL APIにより翻訳、ところどころ修正。
このページの最新版(英語)
このページの原文(英語)
翻訳時のdmdのバージョン: 2.108.0
ドキュメントのdmdのバージョン: 2.109.1
翻訳日付 :
HTML生成日時:
編集者: dokutoku