再幫CPU節省一次資源

2021-04-15 20:48:50 字數 982 閱讀 2107

今天下午在寫象棋程式時想在對話方塊上顯示系統時間,出於個性化,我採用了顯示,進行簡單的換算,將時鐘的十分位和個位以及分鐘的十分位和個位分別擷取出來,然後將每位數字對應一張我用ps做好了的數字,然後用timer按普通方法成功實現了,也就是說每隔一秒種更新一次時間的顯示以便和系統時間吻合,從執行來看發現效果也可以,下棋的時候好像也沒影響電腦思考速度,但總覺得這可以更加優化,可以再節省一下資源,哦,誰叫我是乙個一無所有的窮鬼哩,各位也這樣一想的話就會覺得我這樣做也很合情理嘛,好了,接下來說一下這個簡單但有意義的技巧:

首先:在對話方塊的初始化函式oninitdialog();裡加入:settimer(1,1000*(60-系統當前秒),null);其中第二個引數就是指定了計時器的間隔時間為(60-系統當前秒)秒。  

然後:在對話方塊的計數器響應函式ontimer();裡加入每間隔(60-系統當前秒)秒需要處理的事情(語句),然後再加入:settimer(1,1000*(60-系統當前秒),null);這是重新設定           計數器的間隔時間是為了更加精確,因為在處理完上次ontimer()函式後系統會花費一定的時間(儘管系統執行幾條語句花費的時間可忽略但還是不夠精確的)。

最後:在對話方塊的視窗終止函式onclose();裡加入killtimer(1);從而釋放計數器

說明:初始對話方塊函式和銷毀計數器函式的**前面已經說了,就不再祥述了。

//在窗體右下角顯示時間

void cchessdlg4::ontimer(uint nidevent)

else

//連線符的顯示

m_kodak20.setimage("images//dialog//time_:.gif");

m_kodak20.display();

//分的顯示

if(minute<=9)

else

cdialog::ontimer(nidevent); }

不是我捨不得公布真正有價值的象棋核心程式,而是它牽連廣且寫的爛,怕誤導朋友們哦。

我們最後一次晚餐 離婚前,再感動一次

離婚前,再感動一次 現在離婚越來越容易了,可正因為如此,懂得堅守婚姻才是一件需要理性 忍讓和智慧型的 事情。那一段日子我正處於婚姻的低谷,丈夫陽成天早出晚歸,也沒見他的事業有什麼起色 而 我們的感情像衝了三遍以上的茶般淡而無味,出差回來不再有禮物 擁抱 欣喜,而是老夫 老妻似的平靜 當我把這些婚姻的...

一次CPU過載報警處理

簡訊的生產環境伺服器,cpu 佔用率過高,瘋狂報警,應該是你們昨天上線看門狗導致的 看門狗 守護簡訊服務的監控應用,後續有機會再進行分享 沒錯,昨天確實給簡訊服務裝上了看門狗。但是看門狗服務肯定不會有問題 作為程式猿們,潛意識都堅信自己寫的 永無 bug 主要因為測試環境都沒有此現象。難道是測試妹子...

一次資源耗盡的教訓

ssh exchange identification read connection reset by peer 我趕緊嘗試登入,果然出現了,然後運維的在機房一查說資源耗盡了 然後老大就開始問裡面都有什麼我們知道的服務,評估一下是否能重啟,重啟後都需要開啟哪些服務,我就直接說了我知道的兩個ci 服...