2010-12-13 23 views
0

私のコンソールアプリケーションは、タイムアウト値が5秒の親スレッドのWaitForSingleObjectを呼び出します。WaitForSingleObjectがタイムアウトしない - C++

dwObjectWaitState = ::WaitForSingleObject(s_hRxDataEvent, 50000L); 

イベントが通知されることはありません飽きないだろうように、物理的環境(すなわち、コードの変更なし)を設定した後、私は次の行にブレークポイントを設定し、アプリケーションを実行します。 PCは決してブレークポイントに達しません。 s_hRxDataEventは、通常、子スレッドで設定される有効なイベントハンドルです。物理環境が期待どおりに構成されている場合、アプリケーションは効果的です。なぜ機能がタイムアウトしないのですか?ありがとう。

+1

あなたの価値は50秒ですが、50秒待っていますか? 5秒は「5000L」となる – pstrjds

答えて

2

タイムアウトはミリ秒です。 50000は5秒ではなく50秒です。

1

ここに余分なゼロがあることに注意してください。

+0

あまりにも驚異的http://i.imgur.com/fZNQj.png –

+0

----- LOL ----- –

1

50000Lミリ秒= 50秒。

1

WaitForSingleObjectのタイムアウト値はミリ秒単位で指定されているため、50000Lは5秒ではなく50秒を意味します。

関連する問題