cancle()只是停止当前,timer.cancle()是timer中全部停止。timer是在Executor类里传过去的,开始执行cancle只是停止了灌水,休眠两秒钟后,Timer.cancle()是把DancingRoot停止掉。
cancel只能取消安排的任务(停止下一次执行)
控制台里的红色按钮可以强行中断程序
感谢同学的提问。当时录制3-4的目的是想让大家回顾一下前面所学的函数,为了照顾大多数初学的同学,因此就没有就并发进行深入讲解,timer本身确实只有一个后台线程在处理任务,不过对于这里的案例来讲,因为耗时甚微,可以理解为近似并发了,然而后面的sleep确实是没办法实现并发了,所以sleep了之后,timer唯一的线程就sleep了,因此就没时间去跳舞了 :)