core.sync.semaphore
semaphore モジュールは同期処理のためのセマフォを提供します。 License:Boost License 1.0. Authors:
Sean Kelly Source:
core/sync/semaphore.d
- このクラスは Edsger
Dijkstra によって考案された汎用の計数セマフォを実装しています。ただし、"signal"
は "notify" によって置き換えられ、
通知が送られた瞬間には制御が待ちスレッド側に移らないという意図を明確にしています。
- this(uint count = 0);
- 初期カウント count でセマフォオブジェクトを初期化します。
Parameters:
Throws:uint count セマフォの初期カウント
エラー時に SyncException - カウントが1以上になるのを待機します。1以上になると、
アトミックにカウントを1減らし、呼び出し側に戻ります。
Throws:
エラー時に SyncException - 現在のスレッドを、カウントが1以上になるか、
指定の時間が経過するまで待機させます。
時間内にカウントが1以上になると、アトミックにカウントを1減らし、
true を返します。そうでなければ、false を返します。
Parameters:
In:period 待つ時間。
val には非負の値を指定すること Throws:
エラー時に SyncException Returns:
タイムアウト前に待機が解除されれば true、そうでなければ false - 現在のスレッドを、カウントが1以上になるか、
指定の時間 period が経過するまで待機させます。
時間内にカウントが1以上になると、アトミックにカウントを1減らし、
true を返します。そうでなければ、false を返します。
Parameters:
In:long period 待つ時間。100ナノ秒単位で指定します。値が大きすぎる場合、 実行中のプラットフォームで対応できる最大の時間に切り詰められます。
period には非負の値を指定すること Throws:
エラー時に SyncException Returns:
タイムアウト前に待機が解除されれば true、そうでなければ false - アトミックに、カウントを1増やします。
これによって、待っているスレッドがいればその1つに通知が送られます。
Throws:
SyncException on error. - 現在のカウントがゼロならばすぐreturnします。
そうでなければ、カウントを1減らしてreturn trueします。
Throws:
エラー時に SyncException Returns:
カウントが1以上ならば true、そうでなければ false
Copyright Sean Kelly 2005 - 2009.
|
Page generated by Ddoc.