【发布时间】:2012-03-19 18:14:17
【问题描述】:
我刚刚学习了在 C 编程中使用 process.h 在程序中创建线程的基本原理。而现在,我的问题是如何停止特定线程。
这是我的代码:
#include <stdio.h>
#include <windows.h>
#include <process.h>
void mimicCounter( void * );
int main()
{
int i;
printf( "Now in the main() function.\n" );
_beginthread( mimicCounter, 0, (void*)12 );
for(i = 2; i <= 10; i++){
Sleep(500);
printf("%d\n",i);
}
system("PAUSE");
printf("\n");
}
void mimicCounter( void *arg )
{
int i;
printf( "The mimicCounter() function was passed %d\n", (INT_PTR)arg ) ;
for(i = 1; i <= 10; i++){
Sleep(500);
printf("%d\n",i);
}
}
我只想在我创建的线程(mimicCounter 函数)达到 i = 5 时停止它(是的,我知道我将它设置为 10,但这是为了结束线程演示)。
非常感谢:)
【问题讨论】:
-
什么是
silly?请贴出真实代码。 -
刚刚编辑...抱歉我忘了更改函数的名称...当我在这里发布时...
-
将
10更改为可以从其他线程修改的同步变量。 -
你想杀死线程还是暂停它?
标签: c windows multithreading