WaitForSingleObject函数的使用】的更多相关文章

用户模式的线程同步机制效率高,如果需要考虑线程同步问题,应该首先考虑用户模式的线程同步方法. 但是,用户模式的线程同步有限制,对于多个进程之间的线程同步,用户模式的线程同步方法无能为力.这时,只能考虑使用内核模式. Windows提供了许多内核对象来实现线程的同步.对于线程同步而言,这些内核对象有两个非常重要的状态:“已通知”状态,“未通知”状态(也有翻译为:受信状态,未受信状态).Windows提供了几种内核对象可以处于已通知状态和未通知状态:进程.线程.作业.文件.控制台输入/输出 /错误流…
WaitForSingleObject函数 VC声明 DWORD WaitForSingleObject( HANDLE hHandle, DWORD dwMilliseconds ); VB声明 Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long 编辑本段说明 DWORD WINAPI WaitForSingl…
等待函数可使线程自愿进入等待状态,直到一个特定的内核对象变为已通知状态为止.  WaitForSingleObject 函数 DWORD WaitForSingleObject( HANDLE hObject, DWORD dwMilliseconds ); 第一个参数hObject标识一个能够支持被通知/未通知的内核对象. 第二个参数dwMilliseconds允许该线程指明,为了等待该对象变为已通知状态,它将等待多长时间.(INFINITE为无限时间量,INFINITE已经定义为0xFFFF…
最近在写一个CAN总线的上位机软件,利用CAN转USB的设备连到电脑上,进行数据的传输.在接收下位机发送的数据的时候采用的在线程中持续接收数据. 1.在连接设备的函数中,开启线程. ,CREATE_SUSPENDED,NULL); m_pThread->m_bAutoDelete = false; 2.线程唤醒 ResumeThread(m_pThread->m_hThread); 3.线程挂起 SuspendThread(m_pThread->m_hThread); 4.线程结束 线程…
WaitForSingleObject 函数 DWORD WaitForSingleObject( HANDLE hObject, DWORD dwMilliseconds ); 第一个参数hObject标识一个能够支持被通知/未通知的内核对象(前面列出的任何一种对象都适用). 第二个参数dwMilliseconds允许该线程指明,为了等待该对象变为已通知状态,它将等待多长时间.(INFINITE为无限时间量,INFINITE已经定义为0xFFFFFFFF(或-1)) 传递INFINITE有些危…
http://blog.csdn.net/xiaobai1593/article/details/6672193 在多线程下面,有时候我们会希望等待某一线程完成了再继续做其他事情,要实现这个目的,可以使用Windows API函数WaitForSingleObject,或者WaitForMultipleObjects.这两个函数都会等待Object被标为有信号(signaled)时才返回的.那么,什么是信号呢?简单来说,Windows下创建的Object都会被赋予一个状态量.如果Object被激…
1.WaitForSingleObject 等待函数可使线程自愿进入等待状态,直到一个特定的内核对象变为已通知状态为止.这些等待函数中最常用的是WaitForSingleObject:   DWORD WaitForSingleObject(HANDLE hObject, DWORD dwMilliseconds); 当线程调用该函数时,第一个参数hObject标识一个能够支持被通知/未通 知的内核对象.第二个参数dwMilliseconds.允许该线程指明,为了等待该对象变为已通知状态,它将等…
系统核心对象中的Event事件对象,在进程.线程间同步的时候是比较常用,发现它有两个出发函数,一个是SetEvent,还有一个PulseEvent, 两者的区别是: SetEvent为设置事件对象为有信号状态:而PulseEvent也是将指定的事件设为有信号状态, 不同的是如果是一个人工重设事件,正在等候事件的.被挂起的所有线程都会进入活动状态,函数随后将事件设回,并返回:如果是一个 自动重设事件,则正在等候事件的.被挂起的单个线程会进入活动状态,事件随后设回无信号,并且函数返回. 也就是说在自…
WaitForSingleObject 和 WaitForMultipleObjects:1.WaitForSingleObject  等待函数可使线程自愿进入等待状态,直到一个特定的内核对象变为已通知状态为止.这些等待函数中最常用的是WaitForSingleObject:   DWORD WaitForSingleObject(HANDLE hObject, DWORD dwMilliseconds); 当线程调用该函数时,第一个参数hObject标识一个能够支持被通知/未通 知的内核对象.…
事件event与waitforsingleobject的配合使用,能够解决很多同步问题,也可以在数据达到某个状态时启动另一个线程的执行,如报警. event的几个函数: 1.CreateEvent和OpenEvent HANDLE WINAPI CreateEvent( __in LPSECURITY_ATTRIBUTES lpEventAttributes, //表示安全控制,一般直接传入NULL,表示不能被子进程继承 __in BOOL bManualReset, //参数确定事件是手动置位…