菜单
  

    1)全部由线程函数产生的C++对象都能正确地调用它们的析构函数,从而实现内存资源的释放。
    2)操作系统将正确的释放线程运行栈所使用的内存。
    3)在线程文护的内核对象中有退出代码成员,系统会把其设定为线程函数的返回值[8]。
    4)系统将该线程内核对象的使用计数递减
    1. ExitThread函数
    此函能够在调用后强制结束线程的运转。操作系统资源的清理任务将由操作在此函数调用后完成。可是,它无法回收C++资源,比如类对象。一般情况下,这种方式是Windows调用来撤销线程。
    2. TerminateThread函数
    此函数与ExitThread不同,虽然它也能让线程终止,但是它能够终止任何线程,而ExitThread函数只能终止调用的线程。而且TerminateThread函数是异步运行的,在你调用此函数终止线程时,此函数不能确保线程在函数返回时能被终止。TerminateThread函数 强制终止线程,几乎没给线程做结束处理工作的时间。这将导致线程不能够在结束前释放占有的资源。该函数不会向目标线程发送终止信号,而是直接在核心终止线程。这个带来的另一个后果就是内存泄露,因为线程的堆栈得不到释放。
    根据上面的讨论,本设计选择使用方法1,具体如下。在程序代码中建立一个标号,通过判断它的值来让线程结束自身。这个技术有十分明显的优点,可以保证目标线程在结束之前有安全而一致的状态。它有个明显的缺点:线程必须通过问询方式,不时地检测标号值,从而判断是否该结束自身。本设计不会忙等的循环来检测标号值,本设计中采取的做法是使用一个手动重置(manual-reset)的event  对象。工作线程功过检测该event对象的状态采取相应的操作。
    2.5 MFC连接SQL SERVER(ODBC方式)
    在ODBC中,应用程序不能直接对数据库进行访问,它必须通过使用数据源名(DSN)通过ODBC管理器和数据库交换信息。
    所谓数据源就是数据库位置,数据库类型以及ODBC驱动程序等信息的集合。数据源负责将运行结果送回应用程序[9]。
  1. 上一篇:JSP图书馆座位管理系统设计+文献综述
  2. 下一篇:基于Android 平台的文件传输软件的设计与实现
  1. MFC基于Socket的直升机反潜算法验证系统设计

  2. MFC冠字号码信息文件转换系统设计

  3. MFC树与二叉树实验程序开发

  4. jsp+mysql员工考勤信息管理系统设计

  5. VB+access企业员工信息管理系统设计与实现

  6. 基于HTML5的网上员工管理系统网站设计与实现

  7. 企业员工业绩管理系统设计+文献综述

  8. 中考体育项目与体育教学合理结合的研究

  9. 电站锅炉暖风器设计任务书

  10. 当代大学生慈善意识研究+文献综述

  11. java+mysql车辆管理系统的设计+源代码

  12. 河岸冲刷和泥沙淤积的监测国内外研究现状

  13. 乳业同业并购式全产业链...

  14. 酸性水汽提装置总汽提塔设计+CAD图纸

  15. 大众媒体对公共政策制定的影响

  16. 杂拟谷盗体内共生菌沃尔...

  17. 十二层带中心支撑钢结构...

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回