suncode

  博客园 :: 首页 :: 新随笔 :: :: :: 管理 ::

进程由进程对象,地址空间两部分构成;线程由线程的内核对象、线程栈构成,进程从来不执行任何东西,它只是线程依存的地方,线程在进程的地址控件中执行代码,并在进程的地址空间中对数据进行操作。

主线程的入口函数main wmain Winmain wWinmain

辅助线程
DWORD WINAPI ThreadFunc(PVOID pvParam)
{
  DWORD dwResult
= 0;
  ...

  
return(dwResult );
}

CreateThread 与 _beginthreadex

CreateThread :操作系统执行的创建线程函数。

_beginthreadex:CRT(C++运行时库) 内部调用CreateThread。

使用_beginthreadex原因:多线程情况下要使C C++程序能够正确运行,必须创建一个数据结构(tiddata),将其与创建的线程相关联,当运行C++运行时库时这些函数知道查看调用的线程数据库,不会对其他线程产生不好的影响。

线程身份识别

HANDLE GetCurrentThread();

返回调用线程内核对象的伪句柄,并不在句柄表中创建新句柄,线程内核对象的引用计数不变。当调用一个函数需要线程的句柄时可传递一个伪句柄,使函数执行它对线程的操作。

DuplicateHandle 将伪句柄转换为实句柄。(父线程给子线程传递句柄时  实句柄)

posted on 2011-04-19 11:27  suncode  阅读(238)  评论(0)    收藏  举报