在TimerTask中还需要new Thread么


    

理论上他们的执行频率应该是 0,3,6,9....

但昰如果执行方法耗时长 比如耗时1s

schedule的实际执行时间是: 0,4,7,10...(原因是执行业务逻辑时耗时1s所以下次执行时会等上次执行完毕之后再继续)

如果业务执荇时间大于周期时间就会按照业务执行时间的长度来

这样的两个方法就没有区别了,因为都是同一个线程在执行

其实任务的开始是在 new Timer()中裏面有一个静态Thread常量用来开启线程,并且Timer重写了Run();方法然后调用mainLoop();方法实现不停的执行task

觉得文章有帮助的话就赞赏下吧!

0

版权聲明:本文为博主原创文章遵循

版权协议,转载请附上原文出处链接和本声明

我要回帖

 

随机推荐