C# waitformultipleobjects()

时间:2023-03-08 23:51:38
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
}
}
}