请问_begeinthread(),_endthread() and  CreateThread(),ExitThread()
有什么区别???

解决方案 »

  1.   

    1.  CreateThread  是win32 API, begeinthread是c run-time 库提供的
    2.  CreateThread  提供了3个额外的参数,可以设置安全属性,可以让创建的线程处于suspended  state,调用CreateThread的那个thread可以得到新创建thread的ID
    3.  CreateThread  失败返回0,begeinthread失败返回-1
    4.  线程函数不大一样,begeinthread要求是__cdecl调用方式,CreateThread是__stdcall
      

  2.   

    前者是api,后者是mfc的封装,可以配合CWinThread使用
      

  3.   

    那CreateThread()在创建线程时,是否像_beginthreadex()那样,把线程地址和参数保存在tiddata内存块中?
      

  4.   

    _begeinthread(ex) / _endthread(ex)  里面为新线程调用了 C 标准库的初始化和清除函数,因此在 _begeinthread(ex) 创建的线程里使用 C 标准库是线程安全的,而 CreateThread ,ExitThread 是 Win32 提供的两个纯粹的 API,创建的线程不包含任何附加的初始化,一般不提倡使用。
      

  5.   

    _beginthreadex 等是独立于MFC的函数,可惜没有完全独立出来。
      

  6.   

    同意 In355Hz(好象一条狗)