最近在写一个java的小游戏,关于循环执行游戏内一些方法,重绘游戏界面时: 本人用的while(true){thread.sleep(time);code;}的方式被idea警告。 后来想起java有个定时器的东西:timer.schedule(new TimerTask() {}; 请问一下这两种方式那种好呢? 如果我需要在计时器里new线程,需要我手动杀线程吗?
收起
当前问题酬金
¥ 0 (可追加 ¥500)
支付方式
扫码支付
支付金额 15 元
提供问题酬金的用户不参与问题酬金结算和分配
支付即为同意 《付费问题酬金结算规则》
首先,你需要充分了解计时器的用法,计时器是单线程的,它默认开启了一个现场来执行你的任务。 这是JDK后台的机制它自己开启现场,不需要你来new线程的。 其次,如果你要用计时器的话,只需要记录这个timer对象,然后在程序结束的时候timer.cancel();取消该定时器即可。
报告相同问题?