多线程停止的问题 作了个界面,停止键stop设为关闭所有线程,当程序开始执行后,我想停止所有线程,直接Destory关闭MyDlg,可以关闭,但是我想中途停止所有线程,按停止键stop后,在Destory关闭对话框时,却不能关闭了,停了半天,最后只能强行关闭,是不是因为线程里的函数(大概500ms)还在执行的缘故还是没有执行完毕啊!那么请问我想中途停止该怎么办呢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 I didn't get you means. 有三个线程lpProcessFunc(LPVOID lpParameter)lpProcessFunc1(LPVOID lpParameter){ 互斥lock; do something;(500ms) 互斥unlock;}lpProcessFunc2(LPVOID lpParameter){ 互斥lock; do something;(500ms) 互斥unlock;}第一个为主线程,控制其它两个线程开始结束,程序进行中启动了三个线程,当我想停止时,stop按钮里设置停止三个线程,结果界面对话框动不了了,只能强行关闭,请问是什么原因,是因为线程还在do something吗? // 强行关闭线程的代码#define CLOSE_THREAD_HANDLE(hThread) if (hThread != NULL) \ { \ if (WaitForSingleObject(hThread, 0) == WAIT_TIMEOUT) \ TerminateThread(hThread, 1L); \ CloseHandle(hThread); \ hThread = NULL; \ } 求教,vc windows api做一个可拖动的菜单?谢谢! MDI中CTRL+N将直接新建一个窗口,想问这是如何实现的? ylmbtm 免费的界面代码问题请教高手 关于socket传送文件的疑难杂症 有关tab控件的问题 散分了,求一个VC能用的lua的lib库 用OTL的世外高人请进 问题求教:如何不通过COM接口来使用ADO? 关于toolbar 我想写一个程序让以前的小硬盘当内存使用(思路)最好用C,VC++写! 在实际开发中发现API函数SetupDiGetDeviceRegistryProperty中参数[out]RequiredSize与MSDN文档描述不符 MFC多线程求助
lpProcessFunc(LPVOID lpParameter)
lpProcessFunc1(LPVOID lpParameter)
{
互斥lock;
do something;(500ms)
互斥unlock;
}
lpProcessFunc2(LPVOID lpParameter)
{
互斥lock;
do something;(500ms)
互斥unlock;
}第一个为主线程,控制其它两个线程开始结束,程序进行中启动了三个线程,当我想停止时,stop按钮里设置停止三个线程,结果界面对话框动不了了,只能强行关闭,请问是什么原因,是因为线程还在do something吗?
#define CLOSE_THREAD_HANDLE(hThread) if (hThread != NULL) \
{ \
if (WaitForSingleObject(hThread, 0) == WAIT_TIMEOUT) \
TerminateThread(hThread, 1L); \
CloseHandle(hThread); \
hThread = NULL; \
}