zoukankan      html  css  js  c++  java
  • !!! 多线程编程+MFC中的多线程开发+线程间通讯+线程的同步

    F:\U盘备份\u盘32\线程+定时器\

    !!!多线程编程之一——问题提出_chimmy_新浪博客.htm    

        http://blog.sina.com.cn/s/blog_52996aea0100bpiw.html

    !!!多线程编程之二——MFC中的多线程开发_chimmy_新浪博客.htm    http://blog.sina.com.cn/s/blog_52996aea0100bpj0.html

    • 工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等;用户界面线程一般用于处理独立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等。但对于Win32的API编程而言,这两种线程是没有区别的,它们都只需线程的启动地址即可启动线程来执行任务。
    • 工作者线程

    CWinThread* AfxBeginThread(AFX_THREADPROC pfnThreadProc,

                                               LPVOID pParam,

                                               nPriority=THREAD_PRIORITY_NORMAL,

                                               UINT nStackSize=0,

                                               DWORD dwCreateFlags=0,

                                               LPSECURITY_ATTRIBUTES lpSecurityAttrs=NULL);

    PfnThreadProc:指向工作者线程的执行函数的指针,线程函数原型必须声明如下

    • 用户界面线程

    CWinThread* AfxBeginThread(CRuntimeClass* pThreadClass,

                                               int nPriority=THREAD_PRIORITY_NORMAL, UINT nStackSize=0, DWORD dwCreateFlags=0, LPSECURITY_ATTRIBUTES lpSecurityAttrs=NULL);

    pThreadClass 是指向 CWinThread 的一个导出类的运行时类对象的指针,该导出类定义了被创建的用户界面线程的启动、退出等;其它参数的意义同形式1。

     

    !!!MFC下结束AfxBeginThread开启的线程
             http://c.chinaitlab.com/vc/808113.html  
    !!!AfxBeginThread和AfxEndThread - 莫回头,回头也白少年头! - CSDN博客
             http://blog.csdn.net/kut00/archive/2009/05/22/4209680.aspx 

    • 终止线程有三种途径,

     1、线程可以在自身内部调用AfxEndThread()来终止自身的运行;

          ( AfxBeginThread 和 AfxEndThread 怎么用 http://topic.csdn.net/u/20091012/16/9471478f-251d-42b5-aa80-5b2171ab8a21.html)

    2、可以在线程的外部调用BOOL TerminateThread( HANDLE hThread, DWORD dwExitCode )来强行终止一个线程的运行,然后调用CloseHandle()函数释放线程所占用的堆栈;

    3、是改变全局变量,使线程的执行函数返回,则该线程终止。

    WaitForSingleObject和WaitForMultipleObjects - 温海东的日志 - 网易博客

    http://wenhaidongke.blog.163.com/blog/static/128070090201032292240943/

    WaitForMultipleObjects多线程控制

          http://www.docin.com/p-57401851.html

      http://topic.csdn.net/u/20080229/15/75ac4521-c38b-4530-b94a-ebd48171425f.html

          WaitForMultipleObjects 多个线程同时触发的问题 :多个内核对象被触发时,WaitForMultipleObjects选择其中序号最小的返回。

                                                                            这儿又会产生一个问题,如果序号最小的那个对象频繁被触发,那么序号比它大的内核对象将的不到被出理的机会,

                                                                            可以采用双WaitForMultipleObjects检测机制来实现。

    !!!多线程编程之三——线程间通讯_chimmy_新浪博客.htm

        http://blog.sina.com.cn/s/blog_52996aea0100bpj5.html

    !!!多线程编程之四——线程的同步_chimmy_新浪博客.htm

        http://blog.sina.com.cn/s/blog_52996aea0100bpjd.html

  • 相关阅读:
    poj2186强连通分量
    poj1459SAP最大流模板题
    poj2391Floyd+二分+最大流
    curl上传下载入门
    Mysql存储过程
    小球旋转
    钟表单摆
    java小记 摘抄
    servlet的一些收集总结
    Javascript基础小结
  • 原文地址:https://www.cnblogs.com/carl2380/p/2037469.html
Copyright © 2011-2022 走看看