`
xinyiwust
  • 浏览: 13168 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

FutureTask进入完成状态,会永远停止在这个状态

    博客分类:
  • java
阅读更多

      今天在使用ScheduledExecutorService的时候,发现scheduleWithFixedDelay和scheduleAtFixedRate的参数都是Runnable,于是想到使用FutureTask封装一下:FutureTask<String> task = new FutureTask<String>(new ComputeTask(1000));  

      接着在调用scheduleWithFixedDelay的时候就出现错误了,发现call函数只执行了一次,然后就卡住了。。。

随后查看了一下FutureTask的源码,发现执行完run之后state标记会由RUNNING变为RAN,所以第二次进入的时候就不会再执行了。也就是说,FutureTask进入完成状态,会永远停止在这个状态。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics