我想編寫一個類,它爲不同的對象維護許多定時器,並且能夠在定時器結束時通知或甚至運行任務,並且有能力取消定時器。多個定時器的處理
例如,如果我有3秒的計時器類型X的對象x表示事件EI希望能夠:1。 知道什麼時候它的過去,做一些事情 2.如果需要之前將其取消到期
我實現了自己的東西,但我相信圖書館可以提供更多。
我看了一下ScheduledPoolExecutor,但由於幾個原因,這並不符合我的需求,比如說我可能是單線程的並且能夠將我的「自己的」線程傳遞給它。
我也看了一下Timer,但它在每個Timer實例的後臺都有一個Thread,這是一個我不能容忍的大開銷。
任何想法?
爲什麼你想搶先取消任務,做你想讓它完成時該怎麼辦?我真正要問的是你在試圖重建CompletionStages嗎? –
@DavidEhrmann比方說,我爲網絡套接字預定了一個5秒定時器超時定時器,但在2秒後收到一些字節,現在我想取消這個定時器並設置一個新的定時器。 – slashms
@HotAppleCyber不知道我明白你的解決方案... – slashms