Пример #1
0
 public PMSThread()
 {
     m_pParent      = null;
     m_nState       = PMS_THREAD_STATE_IDLE;
     m_nThreadIndex = -1;
     m_PMSProcess   = null;
 }
Пример #2
0
 public void Init(object pParent, PMSMixedModeSharp PMSMix, int nThreadIdx, int nStartLine, int nIntv)
 {
     m_pParent      = pParent;
     m_nThreadIndex = nThreadIdx;
     m_nState       = PMS_THREAD_STATE_READY;
     m_nStartLine   = nStartLine;
     m_nInterv      = nIntv;
     m_PMSProcess   = PMSMix;
 }
Пример #3
0
        public bool Create(object pParentWnd, PMSMixedModeSharp PMSMix, int nProcessorNum)
        {
            m_nRunningThreadNum = 0;
            m_nProcessNum       = nProcessorNum;
            m_ppPMSThread       = new PMSThread[nProcessorNum];
            m_thdPMS            = new Thread[nProcessorNum];
            m_EwhThdEvent       = new EventWaitHandle[nProcessorNum];
            m_PMSMixed          = (PMSMixedModeSharp)PMSMix;

            for (int i = 0; i < m_nProcessNum; i++)
            {
                m_ppPMSThread[i]         = new PMSThread();
                m_EwhThdEvent[i]         = new EventWaitHandle(false, EventResetMode.ManualReset, "ThreadEvent." + i.ToString());
                m_thdPMS[i]              = new Thread(ThreadRun);
                m_thdPMS[i].IsBackground = true;
                m_thdPMS[i].Priority     = ThreadPriority.Normal;
                m_bThreadRun             = true;
                m_thdPMS[i].Start(i);
                m_ppPMSThread[i].Init(this, PMSMix, i, 0, 0);
            }
            return(true);
        }