2012-09-19 58 views
0

在我的應用程序中,我需要在時間用完或某個異步操作完成時(在時間耗盡之前)運行該函數。加速截止日期計時器的替代方案

提高deadline_timer做我需要的東西,一旦定時器用完,當我取消它時,它會觸發。但是,在我的情況下,我不需要使用io_service,並且定時器構造函數不會讓我省略它。

我可以當然創建一個臨時io_service,但我不認爲這是明智的。

有替代品嗎?我應該用什麼來實現我想要的?也許有一種方法可以在沒有ioservice的情況下使用boosts截止時間定時器?

+2

的'io_service'是什麼使計時器「嘀」可以這麼說。 –

+0

如果您想使用boost.asio,您*需要*創建'io_service'。你爲什麼不能創造它? –

+0

因爲,我的應用程序使用單個'io_service'來管理TCP,UDP和串行連接。但是,我需要有一個超時定時器的串行連接,如果我使用現有的'io_service',結果可能無法預測,因爲據我所知deadline_timer一旦停止了'io_service'中的活動(如果im錯誤),這意味着如果我通過TCP/UDP獲取數據,它會攪亂我的計時器。我使用boost庫提供一切:時間,套接字,端口,線程。 – user1651105

回答

0

可以實現定時輪(谷歌的實現),非常準確和輕量化定時器