`
lilisalo
  • 浏览: 1109377 次
文章分类
社区版块
存档分类
最新评论

MFC全局函数::AfxBeginThread

 
阅读更多

AfxBeginThread

函数原型:

  CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc,
  LPVOID pParam,
  int nPriority = THREAD_PRIORITY_NORMAL,
  UINT nStackSize = 0,
  DWORD dwCreateFlags = 0,
  LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL
  );//用于创建工作者线程
  返回值: 一个指向新线程的线程对象的指针
  pfnThreadProc : 线程的入口函数,声明一定要如下: UINT MyThreadFunction( LPVOID pParam );
  pParam : 传递入线程的参数,注意它的类型为:LPVOID,所以我们可以传递一个结构体入线程.
  nPriority : 线程的优先级,一般设置为 0 .让它和主线程具有共同的优先级.
  nStackSize : 指定新创建的线程的栈的大小.如果为 0,新创建的线程具有和主线程一样的大小的栈
  dwCreateFlags : 指定创建线程以后,线程有怎么样的标志.可以指定两个值:
  CREATE_SUSPENDED : 线程创建以后,会处于挂起状态,直到调用:ResumeThread
  0 : 创建线程后就开始运行.
  lpSecurityAttrs : 指向一个 SECURITY_ATTRIBUTES 的结构体,用它来标志新创建线程的安全性.如果为 NULL ,
  那么新创建的线程就具有和主线程一样的安全性.
  如果要在线程内结束线程,可以在线程内调用 AfxEndThread.
  结束线程的两种方式
  当你在后台用线程来打印一些图形时.有时在打印一部分后,你希望可以停下来,那么此如何让线程停止呢.下
  面会详细的向你解释要结束线程的两种方式
  1 : 这是最简单的方式,也就是让线程函数执行完成,此时线程正常结束.它会返回一个值,一般0是成功结束,
  当然你可以定义自己的认为合适的值来代表线程成功执行.在线程内调用AfxEndThread将会直接结束线程,此时线
  程的一切资源都会被回收.
  2 : 如果你想让别一个线程B来结束线程A,那么,你就需要在这两个线程中传递信息.
  不管是工作者线程还是界面线程,如果你想在线程结束后得到它的确结果,那么你可以调用:
  ::GetExitCodeThread函数
分享到:
评论

相关推荐

    采用AfxBeginThread创建工作线程

    采用AfxBeginThread创建工作线程。采用素数的判断来演示,涉及到多参数的传递,消息的响应和信息的实时显示等。

    使用VC++6.0实现的“操作系统”课程中的生产者-消费者问题

    2. 线程操作使用MFC全局函数: (1)创建线程:AfxBeginThread (2)撤销线程:AfxEndThread 生产和消费在视图上以绘制饼图的方式展现。可以选择菜单项“开启线程->加快(减慢)生产,减慢(加快)消费”来随机调整生产和...

    AfxBeginThread和CreateThread创建工作线程

    分别采用AfxBeginThread CreateThread 创建线程其中AfxBeginThread工程用的是vs2010 CreateThread 工程用的是vc6.0

    MFC创建多线程(工作者线程)demo

    如标题,在MFC中必须使用 AfxBeginThread创建多线程,如使用BeginThread可能会出现BUG

    Server MFC CSocket AfxBeginThread PossMessage Menu 自定义消息

    自己写的一个服务端,是mfc csocket,用到了CSocket AfxBeginThread PossMessage Menu 自定义消息,仅供参考

    C++ AfxBeginThread的介绍/基本用法

    现在,考察该函数:MFC提供了两个重载版的AfxBeginThread,一个用于用户界面线程,另一个用于工作者线程,分别有如下的原型和过程: 用户界面线程的AfxBeginThread 用户界面线程的AfxBeginThread的原型如下: ...

    mfc教程(word版)

    8.5.3 AfxBeginThread 155 8.5.4 CreateThread和_AfxThreadEntry 157 8.5.5 线程的结束 160 8.5.6 实现线程的消息循环 161 第9章 MFC的状态 163 9.1 模块状态 163 9.2 模块、进程和线程状态的数据结构 164 9.2.1 ...

    MulThreadclass.rar_AfxBeginThread_cwinthread_多线程 同步

    感觉多线程确实麻烦,线程间要处理好同步与通讯,如果用CWinThread好一点,直接是一个线程对象,如果用AfxBeginThread,那必须定个全局函数,或者写个静态函数,一般是传个this指针进去,然后再用这个指针调用本类...

    MFC直接用AfxBeginThread创建线程实例

    新建一个Therad名称的对话框文件,对资源视图上拖一个编辑框控件.程序运行后用线程函数调用系统时间方式在编辑框上显示.

    基于c/c++的MFC的多线程

     在MFC程序中创建一个线程,宜调用AfxBeginThread函数。该函数因参数不同而具有两种重载版本,分别对应工作者线程和用户接口(UI)线程。  工作者线程 CWinThread *AfxBeginThread(  AFX_THREADPROC ...

    AfxBeginThread1.rar

    采用AfxBeginThread创建工作线程。采用素数的判断来演示,涉及到多参数的传递,消息的响应和信息的实时显示等。网上有同类资源,但寻找素数的算法写错了。我这个还带计时器的

    MFC-李进九 电子书籍完整版

    MFC 李进九的电子书籍 第1章 MFC概述 1 1.1 MFC是一个编程框架 1 1.1.1 封装 1 1.1.2 继承 2 1.1.3 虚拟函数和动态约束 2 1.1.4 MFC的宏观框架体系 2 1.2 MDI应用程序的构成 3 1.2.1 构成应用程序的对象 3 1.2.2 ...

    CreatThread和AfxBeginThread的比较

    针对http://blog.csdn.net/segen_jaa/article/details/8601028中提出的CreatThread和AfxBeginThread的比较的修改代码,两个函数其实一样的吧(我也在学习中)

    CreateThread创建多线程与单线程比较

    仿多线程的效果一般有2种办法:第一种是...总结:AfxBeginThread是MFC的全局函数,是对CreateThread的封装。 CreateThread是Win32 API函数,AfxBeginThread最终要调到CreateThread。而_beginthread是C的运行库函数。

    MFC相关(三)MFC相关(三)

    AfxBeginThread:开始一个新的线程 AfxEndThread:结束一个旧的线程 AfxFormatString1:类似printf一般地将字符串格式化 AfxFormatString2:类似printf一般地将字符串格式化 AfxMessageBox:类似Windows API 函数 ...

    深入浅出MFC多线程

     在MFC程序中创建一个线程,宜调用AfxBeginThread函数。该函数因参数不同而具有两种重载版本,分别对应工作者线程和用户接口(UI)线程。  工作者线程 CWinThread *AfxBeginThread(  AFX_THREADPROC ...

Global site tag (gtag.js) - Google Analytics