0
我們的系統處理從消息傳遞系統傳遞的消息。如果10秒後沒有收到任何消息,則應引發錯誤(不活動超時)。我想使用ScheduledExecutorService
(1線程)。每次收到消息的時候,我取消了以前的超時任務,並提交一個新問題:使用ScheduledExecutorService實現不活動超時
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
Callable timeoutTask = new Callable() {...};
...
synchronized {
timeout.cancel();
timeout = executor.schedule(timeoutTask, 10, TimeUnit.SECONDS);
}
在正常情況下,我們處理〜1000 /秒。這種方法會擴大嗎?