3000分学习windows系列(7)

bosedom 2003-12-29 10:04:38
学习win设一学期有余,无奈学业繁重,资质鲁钝,对许多问题只是一知半解!现考试临近,特将心中不解贴出,希望各位高手不吝出手,予我等菜鸟一臂之力,小弟拜谢了!
第七问: 终止线程有哪几种方法?
ps 如是粘贴他人或书本上的回答,请注明出处。问题搞清楚,立即结贴,多谢了!
...全文
53 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhucde 2003-12-30
  • 打赏
  • 举报
回复
//结束当前线程(对于用户线程,创建了线程类的方式)
CWinThread *pThread=AfxGetThread();
DWORD exit;
GetExitCodeThread(pThread->m_hThread,&exit);
TerminateThread(pThread->m_hThread,exit);

//对于工作线程,不用结束,调用完后系统自动回收

随便找一本VC++的书,上面都会介绍好几种结束线程的方法
xiaoxiaoliao 2003-12-30
  • 打赏
  • 举报
回复
to huanyun:
拜托不要把侯j的那个繁体弄出来,看着头痛
xiaoxiaoliao 2003-12-30
  • 打赏
  • 举报
回复
to楼主:
祝明晚考好
yintongshun 2003-12-30
  • 打赏
  • 举报
回复
楼上的都说了
jackwuwei 2003-12-29
  • 打赏
  • 举报
回复
若要终止进程的运行,可以使用下面四种方法:
• 主线程的进入点函数返回(最好使用这个方法)。
• 进程中的一个线程调用E x i t P r o c e s s函数(应该避免使用这种方法)。
• 另一个进程中的线程调用Te r m i n a t e P r o c e s s函数(应该避免使用这种方法)。
• 进程中的所有线程自行终止运行(这种情况几乎从未发生)。
这一节将介绍所有这四种方法,并且说明进程结束时将会发生什么情况。
摘自<windows核心编程>,要的话给我留言
eastred 2003-12-29
  • 打赏
  • 举报
回复
终止线程有三种方法:

1.线程可以在自身内部调用AfxEndThread()来终止自身的运行



2.可以在线程的外部调用BOOL TerminateThread( HANDLE hThread, DWORD dwExitCode )来强行终止一个线程的运行,

然后调用CloseHandle()函数释放线程所占用的堆栈



3.第三种方法是改变全局变量,使线程的执行函数返回,则该线程终止。

http://search.csdn.net/expert/topic/50/5005/2003/6/8/1891783.htm
转贴
huanyun 2003-12-29
  • 打赏
  • 举报
回复
執行緒的結束有兩種情況,㆒種是壽終正寢,㆒種是未得善終。前者是執行緒函式正常
結束退出,那麼執行緒也就自然而然終結了。這時候系統會呼叫ExitThread 做些善後清
理工作(其實執行緒㆗也可以自行呼叫此函式以結束自己)。但是像㆖面那個例子,執
行緒根本是個無窮迴路,如何終結?㆒者是行程結束(自然也就導至執行緒的結束),
或者是別的執行緒強制以TerminateThread 將它終結掉。不過,TerminateThread 太過毒
辣,非必要還是少用為妙(請參考API 手冊)
<<深入浅出MFC>>

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧