1. 程式人生 > >C#定時檢查子執行緒是否執行完成(定時器檢查)

C#定時檢查子執行緒是否執行完成(定時器檢查)

定時器定時去檢驗子執行緒是否執行完成。如果完成關閉定時器,繼續執行別的方法。

        private volatile static FileReadManager uniqueInstance;
        private Timer _FileReadTimer = null;
        private Timer _PriorityFileReadTimer = null;
        //定時器開始呼叫的方法
        public void Start()
        {
            try
            {
                _FileReadTimer = new
System.Timers.Timer(); //多長時間去檢查一次(1000毫秒=1秒) _FileReadTimer.Interval = 10000; _FileReadTimer.Elapsed += new ElapsedEventHandler(FileRead); _FileReadTimer.Start(); } catch (Exception ex) { LogHelper.WriteError(ex, "啟動檔案讀取定時器"
); } } public void Stop() { try { if (_FileReadTimer != null) { _FileReadTimer.Stop(); _FileReadTimer.Close(); } } catch (Exception ex) { LogHelper.WriteError(ex, "停止檔案讀取定時器"
); } } private void FileRead(object obj, ElapsedEventArgs e) { try { _FileReadTimer.Stop(); _FileReadTimer.Close(); //需要檢查多個單執行緒是否執行完成的方法 //子執行緒1 //子執行緒2 //子執行緒3 } catch (Exception ex) { LogHelper.WriteError(ex, "檔案讀取定時器方法"); } finally { _FileReadTimer.Start(); } }