终结线程的几个方法
来源:互联网 发布:淘宝水族箱品牌排行榜 编辑:程序博客网 时间:2024/06/14 20:24
终结线程的几个方法:
1)等待线程函数运行完成自动结束 //推荐该方法
2)ExitThread(),用于结束线程自身
3)TerminateThread(),所有线程都可以用该方法结束
4)父进程关闭,子线程随之关闭
只建议使用第一种方法结束线程,其它的方式都对应有缺陷
下面给出几个结束过程中发生事情:
1.)资源有序释放(如操作系统分配资源,用到的C++类析构),返回线程退出代码,线程内核对象使用计数-1
2.)操作系统相关资源释放;但象C++类并未析构,造成内存泄露;这里如果用_beginthreadex建立线程,而用ExitThread或者_endthread来释放线程,则线程放在堆上的线程数据块_tiddata也未释放,内存泄露;
3.)该函数为异步函数,即通知操作系统终结线程后立即返回,而不管系统是否已经真的结束了线程。同时线程栈也不会释放
4.)用ExitProgerss,TerminateProcess函数关闭进程后,进程会调用TerminateThread来关闭线程,效果如3,线程的栈没有释放,申请的对象资源也没释放。
0 0
- 终结线程的几个方法
- Java 线程的几个方法
- 线程对象的几个重要的方法
- 关于线程的几个方法的使用说明
- 线程的几个有意思的方法
- C#线程同步的几个方法
- java线程的几个概念和方法
- 线程终结
- 线程几个方法及线程池的使用
- 5.多线程学习--等待线程的终结
- 终结者:终止线程循环的方式
- Java终结方法的使用(终结守卫者)
- Java终结方法的使用(终结守卫者)
- boost::thread之while(true)型线程终结方法
- boost::thread之while(true)型线程终结方法
- C #中几个线程同步对象的方法
- C #中几个线程同步对象的方法
- Java学习笔记42:线程的几个方法和概念
- jquery-实现div层逐渐显现出来
- 2——PHP defined()函数
- springmvc 的上传功能
- 说说Android中的ANR
- Android网络优先级及更改
- 终结线程的几个方法
- jeesite 下拉菜单
- Spring整合MyBatis
- LocalBroadcastManager源码解析
- PyQt基础第3篇——自定义窗口(隐藏最大最小化按钮)
- The following classes could not be found: - android.support.v7.internal.app.WindowDecorActionBar
- HDU-1213-How Many Tables(并查集)
- POJ, 3255 Roadblocks(次短路径)
- Java EE中关于配置文件web.xml杂谈一