【发布时间】:2013-04-26 05:42:26
【问题描述】:
我已经使用 CreateThread() 成功创建了一个线程。
现在我想创建“n”个线程,但每个线程都有不同的 ThreadProc()。
我尝试了以下代码,但使用它,创建了“n”个线程,它们都执行相同的任务(因为所有线程的 Threadproc() 函数都是相同的。)
//Start the threads
for (int i=1; i<= max_number; i++)
{
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
)
}
有什么方法可以创建“n”个线程,每个线程都有不同的线程过程?
【问题讨论】:
-
呃...给每个人传递一个指向不同线程过程的指针!恐怕我不明白为什么这样做很困难,或者你想做什么。从反对票来看,其他人也没有。你能解释一下你想做什么以及为什么吗?
-
@DavidM :“给每个人传递一个指向不同线程过程的指针!”我想这就是我一直在寻找的 :) 非常感谢 :)
-
哈!不用担心,很高兴它是如此简单:)
标签: c windows multithreading winapi createthread