CreateThread() が使用されている場合、2 つのスレッドが単一の関数「ThreadProc」をスレッド プロシージャとして使用することは可能ですか?
HANDLE thread1= CreateThread( NULL, //Choose default security
0, //Default stack size
(LPTHREAD_START_ROUTINE)&ThreadProc,
//Routine to execute. I want this routine to be different each time as I want each thread to perform a different functionality.
(LPVOID) &i, //Thread parameter
0, //Immediately run the thread
&dwThreadId //Thread Id
)
HANDLE thread2= CreateThread( NULL, //Choose default security
0, //Default stack size
(LPTHREAD_START_ROUTINE)&ThreadProc,
//Routine to execute. I want this routine to be different each time as I want each thread to perform a different functionality.
(LPVOID) &i, //Thread parameter
0, //Immediately run the thread
&dwThreadId //Thread Id
)
上記のコードは、それぞれ同じ機能を持つ 2 つのスレッドを作成します (両方のスレッドのスレッド手順が同じであるため)。正しく実行していますか?
可能であれば、両方のスレッドが同じスレッド プロシージャを使用しているため、同期の問題が発生します。
これで私を助けてください。私は本当に混乱していて、インターネット上で何も見つけることができませんでした.