//偵測Thread存在與否 private void Check_Run() { bool CheckStart = true; while (CheckStart) { if (!MemInterface.ReadThread.IsAlive) { eventLog1.WriteEntry("ReadThread屬於停滯狀態"); } if (!MemInterface.newthread.IsAlive) { eventLog1.WriteEntry("newthread屬於停滯狀態"); } if (!MemInterface.ReadThread_Fanuc.IsAlive) { eventLog1.WriteEntry("ReadThread_Fanuc屬於停滯狀態"); } if (!MemInterface.newthread_Fanuc.IsAlive) { eventLog1.WriteEntry("newthread_Fanuc屬於停滯狀態"); } if (MemInterface.ReadThread.IsAlive & MemInterface.newthread.IsAlive & MemInterface.ReadThread.IsAlive & MemInterface.newthread_Fanuc.IsAlive) { eventLog1.WriteEntry("Thread皆正常運作"); } if (!info.IsConnect()) { eventLog1.WriteEntry("DELTA發生斷線,將進行重新連接的動作"); //Reconnect int result = info.SetConnectInfo(DELTA_localIP1, DELTA_remoteIP1, Convert.ToInt32(DELTA_timeout1)); ErrorString ES = new ErrorString(); eventLog1.WriteEntry(ES.errorstring(result)); } Thread.Sleep(300000); //每5分鐘進行執行緒的狀態確認 } }