猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

Windows

c# EventWaitHandle が反応しない!?

投稿日:2013年9月23日 更新日:

スレッドを利用したプログラムで、
スレッド側での処理を待たせて、必要に応じて開始する場合には、
1.特定のフラグをポーリングする
2.EventWaitHandle を利用する。
の2つが考えられると思います。
ポーリングは処理の無駄に感じてしまうのでEventWaitHandleを使用していました。
が、しばらくたつとEventWaitHandleをset()してもWaitOneのところから開始しない状態になりました。

よくよく調べてみると、EventWaitHandle.WaitOne()にはどうやらタイムアウトがあるようです。
EventWaitHandleを使って別スレッドで処理の開始を待たせる場合には十分注意が必用です。

ちなみにタイムアウトをなしにする場合にはEventWaitHandle.WaitOne(-1)とします。

Gooleアドセンス用336

Gooleアドセンス用336

-Windows
-,

執筆者:

関連記事

windows

Windowsの時刻の同期間隔を変更する

Windowsでは時刻の同期間隔がデフォルトでは7日です。 通常のPCだったらいいのですが、 サーバーであったり、内部にNTPサーバーがあれば1時間毎ぐらいにはしたいと思います。 そこで下記レジストリ …

windows

Windows XPでシンボリックリンクを使用する(linkd)

vistaでは使用できますが、XPではデフォルトでは使用できません。 Microsoftからrktools.exeをダウンロードしてインストールしましょう。 ダウンロード インストールした後に、コマン …

windows

罫線(けいせん)に変換する

罫線を入力する際に、なんと入力して変換すればよいのか・・・。雑談のような内容です :x001: 実は私、なんと読むのか知らずに過ごしてきました。 たまーに使いたい場合は、コマンドプロンプトでtreeコ …

ルートの追加と削除(Windows Linux)

windowsのルートの追加・削除 route add [オプション] [宛先IP] mask [mask] [gateway] metric [metric値] if [if値] オプションの-pを …

sqlserver

SQL Server Management Studio の「上位200行の編集」を変更したい

恐らく私が十分に使用できていないだけで、機能はたくさんありそうなSQL Server Management Studio。最近新しいものに入れ替えたら(OS毎再インストールするハメになったのですが)、 …