//Construct public CaptureThread2(CaptureThreadEnv2 env) { //inputed board id, used by DAQ boardId = env.boardId; //share all thread's init and clean Rendezvous init = env.init; clean = env.clean; state = ThreadState.Unstarted; //share inputs queue and queue lock instance outQueue = env.captureOutQueueAbstract.queue; outQueueLock = env.captureOutQueueAbstract.queueLock; //quit is false quit = false; //creat thread and go run thread = new Thread(captureFunc2); thread.IsBackground = true; thread.Start(); //thread state flag update state = ThreadState.Running; }
public CaptureThread(CaptureThreadEnv tmpEnv) { boardId = (uint)tmpEnv.boardId; init = tmpEnv.init; clean = tmpEnv.clean; status = tmpEnv.status; outputQueue = tmpEnv.captureOutQueue; pkgCounter = 0; thread = new Thread(captureFunc); thread.IsBackground = true; }
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; }
public ThreadManager(int sessionNum, QueueManager queueManager) { this.sessionNum = sessionNum; this.queueManager = queueManager; threadHandClaspInit = new ThreadHandClasp(sessionNum * 2 + 2); threadHandClaspCleanup = new ThreadHandClasp(sessionNum * 2 + 2); captureThreadList = new List <CaptureThread>(sessionNum); parseThreadList = new List <ParseThread>(sessionNum); initPrimaryThreads(); }
public UIThread(UIThreadEnv tmpEnv) { init = tmpEnv.init; clean = tmpEnv.clean; status = tmpEnv.status; ascanInList = tmpEnv.ascanInList; this.sessionsAttrs = tmpEnv.sessionsAttrs; ascanQueueElement = new AscanQueueElement(); thread = new Thread(UIFunc); thread.IsBackground = true; }
public AscanUIThread(AscanUIThreadEnv tmpEnv) { init = tmpEnv.init; clean = tmpEnv.clean; status = tmpEnv.status; ascanInList = tmpEnv.ascanInList; ascanQueueElement = new AscanQueueElement(); //timer = new System.Windows.Forms.Timer(); //timer.Interval = ConstParameter.AscanTimerInterval; //timer.Tick += new EventHandler(AscanUIFunc); thread = new Thread(AscanUIFunc); thread.IsBackground = true; }
public MeasureUIThread(MeasureUIThreadEnv tmpEnv) { init = tmpEnv.init; clean = tmpEnv.clean; status = tmpEnv.status; measureQueue = tmpEnv.measureQueue; measureQueueElement = new MeasureQueueElement(); thread = new Thread(MeasureUIFunc); thread.IsBackground = true; //timer.Elapsed += new System.Timers.ElapsedEventHandler(UpdateAUT); timer.AutoReset = true; }
public void Clear() { threadHandClaspInit = null; threadHandClaspCleanup = null; captureThreadList.Clear(); captureThreadList = null; parseThreadList.Clear(); parseThreadList = null; mergeThread = null; AscanUIThread = null; measureUIThread = null; System.GC.Collect(); }
public ParseThread(ParseThreadEnv tmpEnv) { timer.Elapsed += new System.Timers.ElapsedEventHandler(UpdateAscan); timer.AutoReset = true; init = tmpEnv.init; clean = tmpEnv.clean; status = tmpEnv.status; inputQueue = tmpEnv.captureOutQueue; ascanQueue = tmpEnv.ascanQueue; mergeInQueue = tmpEnv.mergeInQueue; mergeInQueueElement = new MergeInQueueElement(); ascanQueueElement = new AscanQueueElement(); boardStatusPacket = new BoardStatusSetPacket(); thread = new Thread(parseFunc); thread.IsBackground = true; updateCallBack = new updateDelegate(FormList.MDIChild.updateAscanbytimer); }