C# waitformultipleobjects()
class WatchThread
{
[DllImport("kernel32.dll")]
private static extern int CreateEvent(IntPtr lpEventAttributes,
bool bManualReset,
bool bInitialState,
string lpName); [DllImport("kernel32.dll")]
private static extern bool SetEvent(int iEvent); [DllImport("kernel32.dll")]
private static extern uint WaitForMultipleObjects(uint nCount,
ref int lpHandles,
bool bWaitAll,
int dwMilliseconds); public void Test()
{
const uint iMaxEventNum = ; int[] m_iEvent = new int[];
IntPtr pt = new IntPtr(); m_iEvent[] = CreateEvent(pt, false, false, null);
m_iEvent[] = CreateEvent(pt, false, false, null);
m_iEvent[] = CreateEvent(pt, false, false, null);
m_iEvent[] = CreateEvent(pt, false, false, null);
SetEvent(m_iEvent[]);
bool bOK = false;
while (!bOK)
{
uint uiRet = 0xffff;
uiRet = WaitForMultipleObjects(iMaxEventNum, ref m_iEvent[], false, Timeout.Infinite);
//uiRet 返回事件的index
}
}
}
C# waitformultipleobjects()的更多相关文章
- WaitForMultipleObjects返回失败原因之一
上网搜了下 关于 WaitForMultipleObjects等待多个线程退出的状态失败的情况,也有人遇到类似的情况. 一次项目中我也遇到这么个情况.项目中创建线程都是用的 _beginthread ...
- WaitForSingleObject 和 WaitForMultipleObjects函数
1.WaitForSingleObject 等待函数可使线程自愿进入等待状态,直到一个特定的内核对象变为已通知状态为止.这些等待函数中最常用的是WaitForSingleObject: DWORD ...
- WaitForSingleObject与WaitForMultipleObjects用法详解(好用,而且进入一个非常高效沉睡状态,只占用极少的CPU时间片)
在多线程下面,有时候会希望等待某一线程完成了再继续做其他事情,要实现这个目的,可以使用Windows API函数WaitForSingleObject,或者WaitForMultipleObjects ...
- delphi 中使用WaitForMultipleObjects等待线程执行,再执行后续代码
unit1 [delphi] view plain copyunit Unit1; interface uses Windows, Messages, SysUtils, Variants, Clas ...
- dephi WaitForMultipleObjects 用法
在Delphi中WaitForMultipleObjects的使用 procedure ThreadTest;stdcall; var Handles:TWOHandleArray; //Hand ...
- WaitForMultipleObjects返回0xffffffff
DWORD ret; ; HANDLE handle[THREAD_NUM]; ; i < THREAD_NUM; i++) handle[i] = (HANDLE)_beginthreadex ...
- WaitForMultipleObjects
WaitForMultipleObjects是Windows中的一个功能非常强大的函数,几乎可以等待Windows中的所有的内核对象 函数原型为: DWORD WaitForMultipleObjec ...
- WaitForMultipleObjects用法详解
本文转载于:http://blog.csdn.net/sac761/article/details/52456385 WaitForMultipleObjects是Windows中的一个功能非常强大的 ...
- 【VS开发】WaitForSingleObject 和 WaitForMultipleObjects函数 (让线程挂起等待事件)
WaitForSingleObject 和 WaitForMultipleObjects:1.WaitForSingleObject 等待函数可使线程自愿进入等待状态,直到一个特定的内核对象变为已通 ...
随机推荐
- SQL优化-索引
(一)深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录.微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引.簇集索引)和非聚集索引(nonc ...
- cometd的js端代码
一:js端使用方式 CometD JavaScript的配置.整个API可以通过一个单一的原型名为org.cometd.Cometd的对象来调用.Dojo工具包中有一个名称为dojox.cometd的 ...
- matlab的正则表达式讲解[转]
引言.啥是正则表达式?正则表达式是干啥的?我理解就和我们在word或者其他编辑软件里点的查找.替换的作用是差不多的,不过功能要强大的多,当然使用起来也稍微复杂一些.书上的定义差不多是这样的:正则表达式 ...
- python global vs nonlocal (2)
上一篇中简述了这两个关键字的基本用法: global用于在局部作用于修改或重定义全局变量 nonlocal用于在内部作用域修改或重定义外部变量(全局变量除外) 这只是很浅的理解方式 注意python的 ...
- Node.js的简介和安装
一.Node.js的简介和安装 a) 什么是Node.js? Node.js是一个开发平台 让JavaScript运行在服务器端的开发平台 ---简单点说就是用JavaScript写服务器 ...
- kali 2016的基础配置
1.Kali 2016的更新源 deb http://http.kali.org/kali kali-rolling main contrib non-free 2.安装虚拟机 apt-get upd ...
- HDU 4386
http://acm.hdu.edu.cn/showproblem.php?pid=4386 题意:给四条边长,问能否组成四边形,如果能,求最大面积 求最大面积用海伦公式的四边形推广,p=(a+b+c ...
- Golang Deco Enco
mproto.go package mproto import ( "bytes" "encoding/binary" "fmt" &quo ...
- PAT (Basic Level) Practise:1004. 成绩排名
[题目链接] 读入n名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式:每个测试输入包含1个测试用例,格式为 第1行:正整数n 第2行:第1个学生的姓名 学号 成绩 第3 ...
- (基础篇)PHP字符串操作
PHP是弱类型语言,所以其它类型的数据一般可以直接应用于字符串操作函数里,而自动转换成字符串类型,进行处理,如: echo substr("1234567", 1, 3); 和 ...