今天突然想到乙個問題,如果要設定乙個5分鐘的定時器,那麼時間使用5*minute和5*60*second有什麼區別呢?或者說,設定成後者,程式會不會更累呢,會不會每秒鐘都去檢查下是不是到期了?
於是去翻了一下golang原始碼中time的newtimer部分,如下:
原來人家這兒用的是duration,而duration其實是int64,貌似是統一的意思呢。
再看一下各個時間單位,如下:
原來所有的單位最後都是轉換到duration上的,乙個duration其實是乙個納秒。
所以,不管你時間設定的什麼單位,最後都是轉換到納秒數上,這個東西應該就跟cpu的主頻赫茲那玩意兒對上了,soga!
所以就清楚了,定時器設定成啥實際都是一樣的,單位只是封裝了一層給人編碼好用而已。由此可知,所有時間相關的編碼,也都跟單位沒關係。所以,還是用程式更通用的單位毫秒好一些,上面就是5*60*1000*millisecond。哦啦~
關於定時器
定時器是個很有意思的東西,它很有用,但我認為這不是現代計算機的結構所擅長的事情。計算機適合做那些很大量的簡單重複工作,或者根據請求做出回應。dos時代是沒有程序執行緒等概念的,那時候要想做到定時真是有些麻煩 通常的做法是死迴圈不斷監測時間,發現時間到了就做特定的事情 當然你可以用delay,來指定等...
關於didadida 定時器
在學習 定時器 之前,我們先來清楚的了解定時器的應用需求,或者場合。當需要在一段規定的時間內完成某些操作時,就需要有乙個精準的定時工具來提醒你更好的去完成。我自己理解的是 定時 是,在規定好的時間一旦到了,就自動 醒來 一次,當然,可以給這個過程啟動乙個執行緒。我覺得他更多起到的是乙個 提醒 的作用...
關於 時間和定時器
這些東西 本來感覺沒有什麼搞得必要 但是 感覺很多書 都介紹了一些 我也就跟著做一下吧。獲取系統的時間 這個 應該是是最簡單的 直接看 就ok include stdafx.h include int tmain int argc,tchar ar 關於 systemtime 這個結構體 可以直接看...