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

タスクスケジュールではネットワークドライブの割り当てを使ってはいけない

タスクスケジュールに別サーバーへログファイルを移動するバッチを登録する、などよくある話です。 例えば、Aサーバーにはログがたまっていて、Aサーバー上では毎朝3時にBサーバーのバックアップフォルダにログ …

windows

PDFのサムネイルを表紙のページにしたい

Windowsの64ビットOSを使用していると、 PDFのサムネイルがただのAdobeのアイコンになってしまいます。 苦労して自炊をし、電子本棚を作成しようとおもっている方にとっては致命的な現象です。 …

windows

Excelで完了にした行をグレーにする

課題管理表などをエクセルで作成することは多いと思います。 でもいつも完了した行をグレーアウトする方法を忘れるのでメモしておきます。 ポイントは条件付き書式を使うということと、その設定方法です。 IND …

windows

EXCELのIF関数で複数条件を指定する

先日やろうと思ったらできない・・・。 いままでEXCELで複数条件を指定したことがなかったことに気付きました。 そしてなんと!! EXCELでは AND や OR は関数なのです! つまり 条件A A …

windows

Windowsのファイル、ディレクトリのアクセス制限

INDEX1 共有のアクセス制限2 共有のサブディレクトリのアクセス制限3 共有タブとセキュリティタブのアクセス制限の違い 共有のアクセス制限 Windowsをファイルサーバーなどに利用して、多人数で …