![]() |
1
7
如前所述,您可以取消提交给计时器的计时器任务,而不是取消计时器,这样您就不必再增加新的计时器。 你在做什么:
将引发IllegalstateExceptions,因为不能在已取消的计时器上安排新任务。 所以不要这样做:timer.cancel()。 让您的映射成为从会话键到时间任务的映射,并取消时间任务而不是计时器。这样,您就不必新建计时器,并且您的计时器将在取消一个或多个任务后按预期工作。您还可以使用一个计时器来处理多个会话。现在,您将为每个会话生成一个计时器,从而生成一个线程。
另一方面,您不应该使用
|
![]() |
2
2
我相信您可以使用一个计时器对象,创建尽可能多的计时器任务,而不是创建多个计时器。计时器成本很高,因此对整个应用程序使用一个或两个计时器就足够了。另外,您要取消计时器而不是计时器任务,请尝试取消计时器任务。 |
![]() |
3
1
如果计时器不为空,则应该能够调用
|
![]() |
4
1
在您尝试取消计时器的行之后,您应该在调用schedule方法之前创建一个新的计时器。
|
|
user29759326 · 如何返回递归函数中的最后一个值? 6 月前 |
|
malife89 · 将java中的字符串读取为正确的日期格式 7 月前 |
![]() |
Tim · 在java中,有没有更快的方法将字节数组写入文件? 7 月前 |
![]() |
rudraraj · java中未声明最终变量 7 月前 |
![]() |
Bala Ji · 以下BFS的实施效率如何? 7 月前 |