最近在工作上需要用到定時器,然後看到boost裡面的deadline_timer可以實作一個定時器,是以就直接将其封裝成了ATimer類,友善使用,ATimer有以下優點:
可以支援納秒、毫秒、秒、分、小時定時。
可以随時停止定時器。
支援單次調用。
因為使用了deadline_timer,是以定時比較準确。
ATimer和Qt的QTimer使用方法類似,若沒有類似的Timer類,使用最原始的方法,我們的代碼可能會是這樣的:
若使用QTimer的話,書寫是這樣的:
再來看看ATimer的使用:
從上面的例子可以看到,QTimer和ATimer的使用都非常友善,接下來看看ATimer的具體實作:
下面是ATimer的具體使用例子: