zoukankan      html  css  js  c++  java
  • 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 = 4;
    
                int[] m_iEvent = new int[4];
               IntPtr pt = new IntPtr();
               
               m_iEvent[0] = CreateEvent(pt, false, false, null);
               m_iEvent[1] = CreateEvent(pt, false, false, null);
               m_iEvent[2] = CreateEvent(pt, false, false, null);
               m_iEvent[3] = CreateEvent(pt, false, false, null);   
               SetEvent(m_iEvent[2]);
               bool bOK = false;
               while (!bOK)
               {
                  uint uiRet = 0xffff;
                  uiRet = WaitForMultipleObjects(iMaxEventNum, ref m_iEvent[0], false, Timeout.Infinite);
                   //uiRet 返回事件的index
               }
            }
        }
  • 相关阅读:
    SecureCRT
    MySQL
    流式计算概述
    WEB加密算法
    drop、truncate和delete的区别
    JVM参数
    HTTP1.0与HTTP1.1区别
    HTTP请求方法
    Java查看JVM转态的命令总结
    go二次更新
  • 原文地址:https://www.cnblogs.com/profession/p/4957998.html
Copyright © 2011-2022 走看看