回覆列表
-
1 # 熙爸愛釣魚
-
2 # 觀雲居主人
防止宕機的whatchdog機制是由軟硬體配合來保證的;系統時鐘,每隔一定時間產生一個訊號;作業系統根據這個訊號激發一箇中斷處理程式,以檢測是否宕機、處理異常。
-
3 # 電子產品設計方案
C語言只是一門程式設計的語言,是沒有超時檢測語法的
C語言雖然沒有超時檢測語言,但也是可以實現超時退出,超時返回、超時重啟等功能的
用定時器判斷是否超時在程式迴圈中加入一個定時器,在規定的時候執行檢測程式,超過時間不執行檢測程式就可以了
看門狗(Watchdog)復位可以開啟微控制器的Watchdog Timer,如果程式卡死,微控制器就會重啟。
在等待檢測中,可以用break退出在等待的迴圈中,可以用break退出
你的理解是錯誤的。
1,不存在什麼專門的語法來檢測超時。 所謂的超時一定是針對某種應用場景,如網路連線,檔案IO等,不同的場景處理機制不同。
2,程式在執行操作時卡死,是因為程式是單執行緒的,單執行緒意味著在一個時間片內只能做一件事情。當執行緒忙著處理操作時,介面卡死是正常的。
為了解決介面卡死的問題,通常的做法是用多執行緒,即程式的主執行緒負責使用者互動,使用單獨的執行緒來執行耗時久的操作。這樣使用者介面即不會卡死,主執行緒也可以對操作執行緒進行控制,如檢查操作執行了多長時間,是否需要終止執行緒等。