线程的创建

CreateProcess函数创建了进程,也创建了进程的主线程。一般情况下,应用程序使用主线程接受用户的输入,显示运行结果,而创建新的线程(辅助线程)来处理长时间的操作。每个线程必须拥有一个进入点函数,线程从进入点开始运行。主线程的进入点是main,如果想在进程中创建一个辅助线程,必须为该辅助线程指定一个进入点函数,这就是线程函数:
DWORD WINAPI ThreadProc(LPVOID lpParam);     //参数的值由CreateThread函数的第四个参数指定

HANDLE CreateProcess(
LPSECURITY_ATTRIBUTES lpThreadAttributes,   //线程的安全属性
DWORD dwStackSize,                                              //指定线程堆栈的大小
LPTHREAD_START_ROUTINE lpStartAddress,   //线程函数的起始地址
LPVOID lpParameter,                                            //传递给线程函数的参数
DWORD dwCreationFlags,                                     //指定创建线程后是否立即启动
DWORD *lpThreadId                                          //获取内核给新线程分配的线程ID
);
此函数执行成功后,返回新线程的线程句柄。

WaitForSingleObject函数用于等待指定的对象变成受信状态(线程对象只有当线程运行结束后才达到受信状态0):
::WaitForSingleObject(
hHandle  //要等待的对象的句柄
dwMilliseconds   //要等待的时间    
);
当有下列一种情况发生时函数就会返回:
1.要等待的对象变成受信状态
2.参数dwMilliseconds指定的时间已经过去

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值