Example #1
0
        /**Initial the capture threads and dispens threads according to the thread environment.*/
        private void initPrimaryThreads()
        {
            for (int i = 0; i < sessionNum; i++)
            {
                CaptureThreadEnv tmpCaptureThreadEnv = new CaptureThreadEnv();
                setCaptureThreadEnv(tmpCaptureThreadEnv, i);
                CaptureThread captureThread = new CaptureThread(tmpCaptureThreadEnv);
                captureThreadList.Add(captureThread);


                ParseThreadEnv tmpParseThreadEnv = new ParseThreadEnv();
                setParseThreadEnv(tmpParseThreadEnv, i);
                ParseThread parseThread = new ParseThread(tmpParseThreadEnv);
                parseThreadList.Add(parseThread);
            }

            MergeThreadEnv tmpMergeThreadEvn = new MergeThreadEnv();

            setMergeThreadEnv(tmpMergeThreadEvn);
            mergeThread = new MergeThread(tmpMergeThreadEvn);

            AscanUIThreadEnv tmpAscanUIThreadEnv = new AscanUIThreadEnv();

            setAscanUIThreadEnv(tmpAscanUIThreadEnv);
            AscanUIThread = new AscanUIThread(tmpAscanUIThreadEnv);

            MeasureUIThreadEnv tmpMeasureUIThreadEnv = new MeasureUIThreadEnv();

            setMeasureUIThreadEnv(tmpMeasureUIThreadEnv);
            measureUIThread = new MeasureUIThread(tmpMeasureUIThreadEnv);
        }
Example #2
0
        /**
         * Set the enviroment of the merge thread.
         * @param thrdEnv the merge environment to be set
         * @return thrdEnv a merge thread environment whose paraments are set
         */
        private void setMergeThreadEnv(MergeThreadEnv threadEnv)
        {
            threadEnv.init   = threadHandClaspInit;
            threadEnv.clean  = threadHandClaspCleanup;
            threadEnv.status = ThreadCondition.created;

            threadEnv.mergeInList  = queueManager.mergeInList;
            threadEnv.measureQueue = queueManager.measurementQueue;
        }
Example #3
0
        public MergeThread(MergeThreadEnv tmpEnv)
        {
            init         = tmpEnv.init;
            clean        = tmpEnv.clean;
            status       = tmpEnv.status;
            mergeInList  = tmpEnv.mergeInList;
            measureQueue = tmpEnv.measureQueue;

            measureQueueElement = new MeasureQueueElement();

            thread = new Thread(mergeFunc);
            thread.IsBackground = true;
        }