猫型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

Windows8.1でParagon HFS+ for Windows 10.0 (Japanese)が使えない

Windows8.1にアップデートしたら、 HFS+の外付けハードディスクを認識しなくなってしまいました。 サポートにメールをしたところ、 既に新しいバージョンがアップデートされていた模様。 新バージ …

windows

Window8.1の外付けハードディスクの外し方

私はいつも外付けハードディスクやUSBメモリの取り外しには、 画面右下にあるUSBアイコンより「○○○の取り外し」 を選択してからとりはずしていました。 しかし、気づけば何故か外付けハードディスクの文 …

windows

コマンドプロンプトの文字コードを変更する

めったに必要ありませんが、 コマンドプロンプトの文字コードはデフォルトではShift-jisです。 androidやwebの開発等でUTF-8にしたい場合もあります。 現在の文字コードを確認するには …

windows

csvの数値をエクセルで正しく表示する方法

csvファイル(カンマ区切りファイル)をエクセルで開くと、 先頭のゼロが消えたり、勝手に日時に変換されたり面倒です。 それを理解した上で、 文字列として開いてくれたり、いっそのことメモ帳で開いてくれる …

windows

Microsoft Update

Windows Updateを使ったことのないWindowsユーザーはいないでしょう。 結構しらない方が多いのがMicrosoft Updateです。 Windows UpdteはOSのアップデート。 …