問題タブ [waitforsingleobject]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vb6 - シェル化されたプロセスとすべての子プロセスを待機
申し訳ありませんが、これは既に回答されているため、見つけることができません。vb6 アプリから外部プロセスを起動し、そのプロセスが完了するまで待ってから続行する必要があります。十分に単純です。ただし、起動する必要があるプロセスは、子プロセスを起動してから終了します。子プロセス (および他の子プロセス) が完了するのを待つ必要があります
既存のコード:
しばらく前にこれをc#で行うことができましたが、現在はvb6しか使用できません。
windows - ERROR_IO_PENDING を返す WaitForSingleObject
WaitForSingleObject() または WaitForMultipleObjects() が、待機しているオブジェクトが CreateEvent() で作成されたイベントである場合に ERROR_IO_PENDING を返す理由を知っている人はいますか?
テストでは、WFSO と WFMO、手動と自動、INFINITE と 5000 を試しましたが、WaitFor* を呼び出すとすぐに ERROR_IO_PENDING が返されます。
イベントオブジェクトについて、一体何が保留中になる可能性があるのでしょうか? それらのポイントは、あなたがそれらを待つことです。このイベントは OVERLAPPED の一部ではなく、IO 呼び出しとは関係ありません。ワーカースレッドが終了するためのワンショットフラグとして使用されているだけです(これは別のスレッドによって SetEvent() されます)。
それで - 質問は - WFSO から戻ってきた ERROR_IO_PENDING - そしてアイデアですか?
リッチ
waitforsingleobject - WaitForSingleObject で、timeout=INFINITE は timeout=-1 と同じですか?
私は、他の誰かによって書かれた Visual Basic for Applications (VB 6.3) コードを使用しています。彼らは次のように書いています。
これが表示されるプロセスは、テキスト ボックスにデータを返すことになっています。何も返さないこともありますが、これが原因で、おそらくタイムアウトが原因だと思います。そのコードは次と同じですか:
???
ご協力いただきありがとうございます。
c++ - WaitForSingleObject と Interlocked*
WinAPI の下には、WaitForSingleObject() と ReleaseMutex() 関数のペアがあります。また、Interlocked*() 関数ファミリもあります。単一のミューテックスのキャプチャとインターロックされた変数の交換の間のパフォーマンスをチェックすることにしました。
これら 2 つの方法のパフォーマンスを測定したところ、Interlocked*() を使用した方が約 38% 高速であることがわかりました。なぜそうなのですか?
これが私のパフォーマンステストです:
c++ - WaitForSingleObject クラッシュ
ミューテックスを使用してコードのセクションを保護しようとしています。コードがクラッシュしたため、同じことを行う簡単なテスト コードを以下に作成しました。クラッシュは毎回同じコード行で発生するとは限りませんが、常に "WaitForSingleObject" または "Sleep" 呼び出しの前後で発生します。
任意の支援をいただければ幸いです。
windows - CreateProcess() の後で WaitForSingleObject() が AppStarting カーソルを表示するのはなぜですか?
実際のプログラムを検索して実行する簡単なランチャーを作成しました。これは正常に動作しますが、問題が 1 つあります。Windows では、「砂時計付きのポインター」カーソルが約 1 秒間表示されます。プログラムを直接起動した場合、これは発生しません。
設定してみsinfo.dwFlags = STARTF_FORCEOFFFEEDBACK
ましたが、これは役に立ちませんでした。これは、何らかの方法でカーソルを無効にする必要があるのは私のプログラムであり、起動したプログラムがそれをうまく行うためだと思います(適切なウィンドウを作成するなど)。
これは、私のアプリケーションの関連コードです。スレッドやその他の派手なものはありません (プログラムの唯一の目的は、別のプログラムを起動し、呼び出し元に終了コードを渡すことです)。