0

C ++のCreateThread()関数について疑問があります。

この関数のthreadIdパラメーターの重要性は何ですか?

また、同じthreadIdを使用して同じスレッド(同じ名前)を作成できますか?お気に入り

     DWORD threadId = 0;
     CreateThread(NULL, 0, Thread1, NULL,0, &threadId);
     CreateThread(NULL, 0, Thread1, NULL,0, &threadId);

この方法は可能ですか?threadIdに含まれる値は何ですか?上記のコーディングを行うことにより、2番目のスレッドの作成は最初のスレッドのthreadId値を上書きしますか?

4

2 に答える 2

3

threadIdハンドルを持っている場合は、スレッドを操作するためのは必要ありません。ただし、代わりにIDを保持してから、によって取得されたハンドルを使用することもできますOpenThreadOpenThread(これはプロセス間でも機能します。IDを別のプロセスに「転送」する唯一の方法です)。

IDを使用して、スレッドにジョブを配布することもできます(ただし、独自の識別子を作成することもできます)。

最後になりましたが、関数を呼び出すときなど、スレッドIDが本当にPostThreadMessage必要になる場合があります。

于 2012-04-24T09:56:22.643 に答える
1

この関数の threadId パラメータの重要性は何ですか?

複数のスレッドを生成する場合、さまざまなスレッドをどのように区別しますか? この ID は、さまざまなスレッドからの情報を検査および処理できるようにするハンドルです。

この方法は可能ですか?

これは可能ですが、この特定の例では、最初に作成したスレッドへの 1 つのアクセス ポイントが失われます。

于 2012-04-24T09:37:09.073 に答える