多线程笔记4
多线程笔记4
第五章:不要让线程成为脱缰野马
1.干净的终止一个线程
(1)BOOL TerminateThread(HADLE hThread, DWORD dwExitCode)//dwExitCode:线程结束代码。
线程在结束前没有机会清理自己,且堆栈不会释放,产生内存泄露。相关的DLLs没有机会获得”线程解除附着”的通知。这是一个危险的函数,非不得已的情况不用。
(2)使用信号(Signals),行不通。
()跨越线程,丢出异常。win2API中没有什么标准方法可以把一个异常情况丢到另一个线程中。
(4)设立一个标记:使用一个手动重置(manual-reset)的 event 对象。Worker 线程可以检查该event 的状态或是等待它。
2.线程优先权
(1)以进程的“优先权类别(priority class)”、线程的“优先权层级 (priority level)”和操作系统当时采用的“动态提升(Dynamic Boost)”作为计算基准。拥有最高优先权之线程,即为下一个将执行起来的线程.如果优先权相同,则轮流调度。
(2)4个优先权类别 ,两个相关函数:SetPriorityClass,GetPriorityClass
HIGH_PRIORITY_CLASS 1
IDLE_PRIORITY_CLASS 4
ORMAL_PRIORITY_CLASS 7 or 8
REALTIME_PRIORITY_CLASS 24
()7个优先权层级
THREAD_PRIORITY_HIGHEST 2
THREAD_PRIORITY_ABOVE_ORMAL 1
THREAD_PRIORITY_ORMAL 0
THERAD_PRIORITY_BELOW_ORMAL -1
THREAD_PRIORITY_LOWEST -2
THREAD_PRIORITY_IDLE set to 1
THREAD_PRIORITY_TIME_CRITICAL set to 15
BOOL SetThreadPriority(HADLE hThread, int nPriority);
int GetThreadPriority(HADLE hThread);
(4)动态提升
.初始化一个线程
(1)初始化理由:调整优先权;绑核等。
(2)CreateThread()第五个参数设为CREATE_SUSPEDED
()DWORD ResumeThread(HADLE hThread)//执行一个线程
(4)DWORD SuspendThread(HADLE hThread)//挂起一个 线程
转载于:.html
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
推荐阅读
留言与评论(共有 14 条评论) |
本站网友 臭虫图片 | 20分钟前 发表 |
int nPriority); int GetThreadPriority(HADLE hThread); (4)动态提升 .初始化一个线程 (1)初始化理由:调整优先权;绑核等 | |
本站网友 儿童营养餐 | 23分钟前 发表 |
相关的DLLs没有机会获得”线程解除附着”的通知 | |
本站网友 seed3 | 21分钟前 发表 |
这是一个危险的函数 | |
本站网友 自助建站软件 | 23分钟前 发表 |
拥有最高优先权之线程,即为下一个将执行起来的线程.如果优先权相同 | |
本站网友 寿险规划师 | 11分钟前 发表 |
(4)设立一个标记:使用一个手动重置(manual-reset)的 event 对象 | |
本站网友 大禹城邦 | 8分钟前 发表 |
GetPriorityClass HIGH_PRIORITY_CLASS 1 IDLE_PRIORITY_CLASS 4 ORMAL_PRIORITY_CLASS 7 or 8 REALTIME_PRIORITY_CLASS 24 ()7个优先权层级 THREAD_PRIORITY_HIGHEST 2 THREAD_PRIORITY_ABOVE_ORMAL 1 THREAD_PRIORITY_ORMAL 0 THERAD_PRIORITY_BELOW_ORMAL -1 THREAD_PRIORITY_LOWEST -2 THREAD_PRIORITY_IDLE set to 1 THREAD_PRIORITY_TIME_CRITICAL set to 15 BOOL SetThreadPriority(HADLE hThread | |
本站网友 芝华士沙发官方网站 | 4分钟前 发表 |
产生内存泄露 | |
本站网友 松花蛋不能和什么一起吃 | 19分钟前 发表 |
线程在结束前没有机会清理自己 | |
本站网友 婴儿喂奶时间 | 8分钟前 发表 |
则轮流调度 | |
本站网友 消除眼袋手术 | 22分钟前 发表 |
(2)使用信号(Signals),行不通 | |
本站网友 莫比怎么抓 | 19分钟前 发表 |
这是一个危险的函数 | |
本站网友 技能型人才 | 23分钟前 发表 |
产生内存泄露 | |
本站网友 高级护理学校 | 6分钟前 发表 |
产生内存泄露 |