C++涉及到多线程时 会经常用到WINAPI WaitForSingleObject函数
百度上的说明
WaitForSingleObject函数用来检测hHandle事件的信号状态,在某一线程中调用该函数时,线程暂时挂起,如果在挂起的dwMilliseconds毫秒内,线程所等待的对象变为有信号状态,则该函数立即返回;如果超时时间已经到达dwMilliseconds毫秒,但hHandle所...
分类:
编程语言 时间:
2015-01-24 17:27:07
阅读次数:
271
前面写过一篇关于视频对比的文章,后来又做了一些修缮,用代码实现了一遍。
//定时器,解码
void Cvideo4Dlg::OnTimer(UINT nIDEvent)
{
//输出视频解码
WaitForSingleObject(AfxBeginThread(Decode_out_Thread, this), INFINITE);
//输入视频解码
WaitForSingleObjec...
分类:
其他好文 时间:
2015-01-23 18:24:32
阅读次数:
146
Wait*()函数族可以来实现事件的检测,改函数可以实现单信号和多信号的侦测。
可能我这么说大家可能会有点迷迷糊糊。不急,我们先来介绍两个函数。
第一个是用于单信号侦测。WaitForSingleObject()
函数原型
DWORD WaitForSingleObject(
HANDLE hHandle,
DWORD dwMilliseconds
);
hHandle对象句柄。可...
分类:
编程语言 时间:
2015-01-06 20:11:43
阅读次数:
292
WaitForSingleObject函数用来检测hHandle事件的信号状态,当函数的执行时间超过dwMilliseconds就返回,但如果参数dwMilliseconds为INFINITE时函数将直到相应时间事件变成有信号状态才返回,否则就一直等待下去,直到WaitForSingleObject...
分类:
其他好文 时间:
2014-12-12 06:40:59
阅读次数:
203
0、互斥量Windows下的互斥量是个内核对象,每次WaitForSingleObject和ReleaseMutex时都会检查当前线程ID和占有互斥量的线程ID是否一致。当多次Wait**时就要对应多次ReleaseMutex, 当ReleaseMutex过多次数时如果发现当前占有互斥量的线程ID和...
分类:
编程语言 时间:
2014-12-02 01:32:01
阅读次数:
166
做个小总结:如果拿现实生活中的东西比喻,那么关键段、互斥量、事件、信号量都是什么呢?感觉事件像是个暂停继续键,WaitForSingleObject 是暂停SetEvent 是 继续 可以多次的按继续 但是如果中间没有过暂停的化没有意义继续的目的是为了等条件满足,所以事件的意义在于找到线程之间的等....
分类:
编程语言 时间:
2014-10-29 16:19:06
阅读次数:
281
线程中CreateEvent和SetEvent及WaitForSingleObject的用法首先介绍CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,程锁定方面.CreateEvent函功能描述:创建或打开一个命名的或无名的事件对象.EVENT有两种状态:发信号,不发信...
分类:
编程语言 时间:
2014-10-24 15:58:01
阅读次数:
206
http://blog.csdn.net/wishfly/article/details/3726985你在主线程用了WaitForSingleObject,导致了消息循环的阻塞,界面假死。然后在线程中调用了SetDlgItemText,而SetDlgItemText实际上调用的是SendMessa...
分类:
编程语言 时间:
2014-10-22 06:21:35
阅读次数:
292
通过端口远程控制主机。运行程序之后,程序自动开放本机的999端口,其他电脑便可以通过999端口对本机操作。
telnet测试端口命令: telnet IP 端口 或者 telnet 域名 端口...
分类:
其他好文 时间:
2014-10-20 00:53:14
阅读次数:
259
CreateEvent:
1、函数功能:
创建一个命名或匿名的事件对象
2、函数原型:
HANDLE CreateEvent(
LPSECURITY_ATTRIBUTES lpEventAttributes,
// pointer to security attributes
BOOL bMa...
分类:
其他好文 时间:
2014-10-15 13:32:20
阅读次数:
220