VC++多线程

1.CreateThread函数

  参数说明

  • lpThreadAttributes:指向SECURITY_ATTRIBUTES型态的结构的指针。在Windows 98中忽略该参数。在Windows NT中,它被设为NULL,表示使用缺省值。
  • dwStackSize:线程堆栈大小,一般=0,在任何情况下,Windows根据需要动态延长堆栈的大小。   
  • lpStartAddress:指向线程函数的指针,形式:@函数名,函数名称没有限制,但是必须以下列形式声明:    DWORD WINAPI ThreadProc (LPVOID pParam) ,格式不正确将无法调用成功。   
  • lpParameter:向线程函数传递的参数,是一个指向结构的指针,不需传递参数时,为NULL。   
  • dwCreationFlags :线程标志,可取值如下 CREATE_SUSPENDED: 创建一个挂起的线程  0 :创建后立即激活。   
  • lpThreadId:保存新线程的id。   返回值:   函数成功,返回线程句柄;函数失败返回false。

2.CreateMutex

  HANDLE CreateMutex(   

    LPSECURITY_ATTRIBUTES lpMutexAttributes, // SD   

    BOOL bInitialOwner, // initial owner   

    LPCTSTR lpName // object name   

    );

  参数说明

  lpMutexAttributes SECURITY_ATTRIBUTES,指定一个SECURITY_ATTRIBUTES结构,或传递零值(将参数声明为ByVal As Long,并传递零值),表示使用不允许继承的默认描述符   

  bInitialOwner Long,如创建进程希望立即拥有互斥体,则设为TRUE。一个互斥体同时只能由一个线程拥有   

  lpName String,指定互斥体对象的名字。用vbNullString创建一个未命名的互斥体对象。如已经存在拥有这个名字的一个事件,则打开现有的已命名互斥体。这个名字可能不与现有的事件、信号机、可等待计时器或文件映射相符.

 

3.WaitForSingleObject  拿钥匙进门

DWORD WaitForSingleObject(   

  HANDLE hHandle,   

  DWORD dwMilliseconds   

);

  参数hHandle是一个事件的句柄,第二个参数dwMilliseconds是时间间隔。如果事件是有信号状态返回WAIT_OBJECT_0,如果时间超过dwMilliseconds值但时间事件还是无信号状态则返回WAIT_TIMEOUT。

 

4. ReleaseMutex

WaitForSingleObject(   

  HANDLE hHandle,     

);释放锁

转载于:https://www.cnblogs.com/arrow12/archive/2010/11/25/1888108.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值