zoukankan      html  css  js  c++  java
  • VC如何对新创建的一个线程暂停或重启

    执行AfxBeginThread()函数时,如果成功则返回一个指向新线程对象的CWinThread指针,否则为NULL。就是说它会new一个CWinThread对象,而这个对象在线程运行结束时是会自动删除的。

    这样只要得到这一新线程的指针,我们就可以对新线程进行操作了。

    向对话框类里面添加一个CWinThread* mythread 的成员变量,不用初始化为NULL,这样会报错的,因为它只能通过AfxBeginThread函数获得。
    然后添加一个 pause 按钮向其响应函数里面添加代码 mythread->SuspendThread();   再添加一个 resume按钮,向其响应函数里面添加 mythread->ResumeThread();

    要结束一个线程可以在线程内调用AfxEndThread将会直接结束线程,此时线程的一切资源都会被回收。注意在线程中使用了CString类,则不能用AfxEndThread来进行结束线程,会有内存泄漏,只有当程序结束时,会在输出窗口有提示多少byte泄漏了。因为Cstring的回收有其自己的机制。建议在AfxEndThread之前先进行return。


    版权声明:

  • 相关阅读:
    I/O流
    宇宙第一帅的HTML笔记
    宇宙无敌第一帅的Java笔记
    Activity常用的方法
    Spinne
    安卓布局方式
    for循环
    TextView
    开发Activity步骤
    重写
  • 原文地址:https://www.cnblogs.com/walccott/p/4957111.html
Copyright © 2011-2022 走看看