問題タブ [createthread]

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.

0 投票する
1 に答える
231 参照

c++ - C++ CreateThread() LPSTR 引数エラー Windows 7 (64)

CreateThread() 関数を使用して簡単なプログラムを作成しようとしています。LPSTRstruct 内の新しいスレッド関数に引数を渡す必要がありますpDataArray。MSDNの例(MSDN CreateThread() Example)に従っています。

メイン関数 (CreateNewThread) は、別の関数からLPSTR commandサンプル テキスト"hi all"を含む変数を受け取り、正しく動作し、正しく構造体に導入されますが、それをスレッド化された関数 (MyThreadFunction) に送信しようとすると、多くの奇妙なエラーが返されます文字、メモリダンプ私は推測します:

CreateThread 関数のコードは次のとおりです。

MyThreadFunction() のコードは次のとおりです。

LPSTRスレッド化された関数に変数を送信する正しい方法を教えてもらえますか?

アドバイスありがとう。

0 投票する
0 に答える
655 参照

c++ - GetExitCodeThread() で取得した値が間違っています

CreateThread()有効なパラメーターを使用してスレッドを作成しました。単純な条件に基づいて、1 に設定された型変数if-elseを返します。DWORD

次に、関数内:

私はWaitForSingleObject() INFINITE嘘をつきます。次に function を呼び出しますGetExitCodeThread()

私は何をしても変わらない、異なる価値を手に入れます。常に 6 です。

WaitForSingleObjectまた、これらのいずれかを使用する必要があるのか​​ 、GetExitCodeThreadそれとも使用する必要があるのか​​ も混乱しています。MSDN では、2 つが互いの代わりになることは言及されていません。ただ、WaitForSingleObject成功したら画像のスレッドハンドルが解放されるか、最悪の場合は別のスレッドに割り当てられる可能性があると単純に考えています。それならGetExitCodeThread惨めに失敗するでしょう。

0 投票する
1 に答える
138 参照

c++ - 最後に作成されたスレッドのみを実行するマルチスレッドプログラム?

4 つのスレッドを作成しましたが、このプログラムを実行すると、次のような出力が得られます。

2 つの質問があります。

  1. スレッドは 4 つしか作成していないのに、なぜスレッド #: 5 が表示されるのですか?
  2. 作成された 4 つのスレッドはすべて順次実行されるはずですが、最後に作成されたスレッドのみが実行されるのはなぜですか?

ソースコード:

0 投票する
0 に答える
152 参照

c - CreateThread はメモリ順序の保証を提供しますか?

pthread_create はメモリ順序の保証を提供しますが ( The Open Group Base Specifications Issue 7: Memory Synchronization )、Synchronization and Multiprocessor Issues: Memory Orderingの文言とCreateThread 関数の文言の欠如は、CreateThread がそうでないことを示唆しています。

0 投票する
1 に答える
346 参照

winapi - CreateThread でクラス関数を呼び出すときのエラー C3867

メイン関数から呼び出された CreateThread にクラス関数を渡そうとしましたが、エラーが発生しました:

エラー C3867: 'Display::fill_matrix': 関数呼び出しに引数リストがありません。「&Display::fill_matrix」を使用して、メンバーへのポインターを作成します



0 投票する
1 に答える
1014 参照

c++ - C++ CreateThread() 奇妙なエラー

アプリケーションで CreateThread() 関数を使用しようとしましたが、奇妙なエラーが発生しました。

2 番目は行を示します

winbase.h では、何が起こっているのかわかりません。例では同じことですが、エラーはありません。私は何を間違っていますか?

コード:

0 投票する
2 に答える
263 参照

c# - C++ の関数ポインター

CreateThread 関数を使用して、C++ でC# BackgroundWorkerのようなクラスを作成しました。私のコード:

BackgroundWorker.h:

BackgroundWorker.cpp:

次に、BackgroundWorker から派生した別のクラスを作成しました。

ListenThread.cpp:

しかし、その行は私に次のエラーを与えます:

非標準構文; 「&」を使用してメンバーへのポインタを作成します

0 投票する
1 に答える
3387 参照

c - SetWindowsHookEx の使い方との違い

最初: Windows XP - 32 ビットで Visual Studio 2010 を使用しています。

現在、別のアプリケーションが低レベルのキーボード フックを使用できるようにする DLL を作成しようとしています。

動作するようになりましたが、理由を理解したいと思います。

非動作コード:

作業コード:

唯一の違いは、SetWindowsHookEx-call を からに移動したDllMainことThreadProcです。

質問:なぜこれがすべての違いを生むのですか?