关于两个机器人并发

来源:3-4 Timer函数的综合应用

少时不识月

2017-05-20 10:29

这里使用同一个timer调用两个机器人工作不是并发吗,一个timer不能处理这种并发吧,后面sleep之后,都没有dancing输出,按理来说两秒之后停止跳舞,每隔两秒跳一次舞不是应该中间要跳一次舞吗?

写回答 关注

2回答

  • 翔仔
    2017-05-20 12:10:17
    已采纳

    感谢同学的提问。当时录制3-4的目的是想让大家回顾一下前面所学的函数,为了照顾大多数初学的同学,因此就没有就并发进行深入讲解,timer本身确实只有一个后台线程在处理任务,不过对于这里的案例来讲,因为耗时甚微,可以理解为近似并发了,然而后面的sleep确实是没办法实现并发了,所以sleep了之后,timer唯一的线程就sleep了,因此就没时间去跳舞了 :)

    李金球

    我记得这个课程里面有说timer是串行quartz是并行吧,不知道是不是我和其他课程弄串了。我也注意到这个同学的问题了,因为我自己在写的时候,跳舞执行频率是要高于灌水,和老师的写反了,理论上来讲,按照老师的讲法应该是在跳舞的执行频率间隔是小于2秒,那么在灌水的任务cancel之后,跳舞的任务还会至少执行一次的,如果是大于2秒,那就没什么区别。

    2019-03-26 13:05:40

    共 5 条回复 >

  • 慕先生9376929
    2017-10-24 10:59:32

    是啊, 我还把线程sleep到10秒,等着跳舞其机器人跳舞,一直没跳。 就返回来再看了老师视频写法、

Java定时任务调度工具详解之Timer篇

Java定时任务调度工具详解之Timer篇

23913 学习 · 32 问题

查看课程

相似问题