本文目录
- java定时器怎么停止
- java timer的cancel()调用后为什么没停止
- java如何让一个定时器终止一段时间
- 美的空调遥控器上的 ,mode,fan speed,temp,air direction,swing,timer,cancel,led,sleep分别是什么意思
- 关于Timer的问题.Timer cancel后再重新new一个,还是会抛出异常
- 为什么java中 timer 使用 cancel后再次对timer类赋值会报错
- java关于Timer计时器的问题求解
java定时器怎么停止
1、scheduleUpdate加入当前节点后,程序会每帧都会自动执行一次默认的Update函数。(注:一定是Update函数哦,若想调用其他自己命名的函数则使用schedule)看例子,走起。首先在HelloWord类的头文件中声明Update函数:[cpp] view plain copy print?void update(float dt); //注意参数类型 然后在HelloWorld类源文件中实现函数Update:[cpp] view plain copy print?void HelloWorld::update(float dt) { CCLOG(“baibai“); } 现在我们可以调用了,在需要他不断执行的地方加入调用的代码就ok:[cpp] view plain copy print?this-》scheduleUpdate(); //this是当前节点,如layer,所以可以省略啦。 运行之后你将会看到不断有baibai被打印出来2、scheduleUpdate可以没隔几秒执行某个自定义的函数,来看代码:首先还是在HelloWorld中声明所要执行的函数:
java timer的cancel()调用后为什么没停止
/** * Cancels the {@code Timer} and all scheduled tasks. If there is a * currently running task it is not affected. No more tasks may be scheduled * on this {@code Timer}. Subsequent calls do nothing. */ public void cancel() { impl.cancel(); }这个Timer.class中关于cancel()的注释,也就是说当有running task时,他不会起作用的。你想要停止该TimerTask,应该使用的是task.cancel().
java如何让一个定时器终止一段时间
java中让定时器终止的方法是使用timer的cancel方法,实例如下:
import java.util.Timer;import java.util.TimerTask;public class Main { Timer timer; public Main(int seconds) { timer = new Timer(); timer.schedule(new ToDoTask(), seconds * 1000);//定时器开始执行 } class ToDoTask extends TimerTask { public void run() { System.out.println(“working“); timer.cancel(); //定时器终止 } } public static void main(String args) { new Main(5); }}
美的空调遥控器上的 ,mode,fan speed,temp,air direction,swing,timer,cancel,led,sleep分别是什么意思
mode: 模式,就是空调的运转模式,可以选择“制冷、送风运转”等
fan speed: 风速,可以选择风速的档位
temp:“temperature“ 的简写,温度或温度显示的意思
air direction:风向,一般为左右风向调整
swing:上下风,一般是上下扫风方向调整
timer:定时,可以设定定时关机等
cancel:取消,取消某些操作
led:灯光,一般是用来选择是否显示空调面板上的灯光的
sleep:睡眠,可以选择睡眠模式
扩展资料
空调遥控器按键功能
【开/关】键:待机时按一下开机,进入运行状态,开机后按一下关机,进入关机待机 状态;
【模式】键:开机后,按此键,模式按“自动 热 →自动 ”方式顺序循环; →低风 →中风 →高风 →自动 →制冷 →除湿 →送风 →制
【风速】键:按此键,内风机风速按“自动 ”方式循环;
【风向】键:按此键,导风片角度按“自动 位置 →位置 →自动 ”方式顺序循环; →位置 →位置 →位置 →
【摆风】键:按此键,摆风可设置为连续摆动和点动 两种方式循环;
【温度▼】键:按一下设定温度下降一度,控制范围:16℃—31℃,无连击功能;
【温度▲】键:按一下设定温度上升一度,控制范围:16℃—31℃,无连击功能;
【定时开】键:时间设置好后,按一下“定时开”键,数字显示区显示上次设定的定 时开机时间,通过“小时”键和“分钟”键调整设定时间,空调到设定时间开机;再次按“定 时开”键,可取消定时开设定;
【定时关】键:时间设置好后,在开机状态下,按一下“定时关”键,数字显示区显 示上次设定的定时关机时间,通过“小时”键和“分钟”键调整设定时间,空调到设定时间 关机;再次按“定时关”键,可取消定时关设定。
关于Timer的问题.Timer cancel后再重新new一个,还是会抛出异常
timer.cancel()之后TimerTask 和Timer 再次初始化就可以了private Timer timer; private TimerTask Runtask;Handler handler = new Handler() { @Override public void handleMessage(Message msg) {// TODO Auto-generated method stub// 要做的事情if (m_Auto) {task = new IDCardTask();task.execute();} else {if (timer != null) {timer.cancel();timer = null;bt_AutoReadidcard.setText(“自动读卡“);}} super.handleMessage(msg); } };bt_AutoReadidcard.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {if (m_Auto) {m_Auto = false;} else {m_Auto = true;timer = new Timer();Runtask = new TimerTask() { @Override public void run() { // TODO Auto-generated method stub Message message = new Message(); message.what = 1; handler.sendMessage(message); } }; timer.schedule(Runtask, 1000, 4000); bt_AutoReadidcard.setText(“停止读卡“);}}});
为什么java中 timer 使用 cancel后再次对timer类赋值会报错
现在项目中用到需要定时去检查文件是否更新的功能。timer正好用于此处。用法很简单,new一个timer,然后写一个timertask的子类即可。package comz.autoupdatefile;import java.util.Timer;import java.util.TimerTask;public class M {public static void main(String args) {// TODO todo.generated by zoerTimer timer = new Timer();timer.schedule(new MyTask(), 1000, 2000);}}class MyTask extends TimerTask {@Overridepublic void run() {System.out.println(“dddd“);}}这样,就可以在1秒钟之后开始执行mytask,每两秒钟执行一次。当然,timer的功能也可以通过自己构造线程,然后在线程中用sleep来模拟停止一段时间,然后再执行某个动作。其实,看一下timertask的源码就立即可以知道,timertask就是实现了runnable接口的。也就是说,通过timer来间隔一段时间执行一个操作,也是通过一个线程来做到的。
java关于Timer计时器的问题求解
timer内部有TimerTask。TimerTask可以取消cancel()。取消了,但是还在timer内部。timer.purge()移除取消了的任务。所以最好cancel之后调用purge然后置空timertimer=null;不调用timer.cancel(),timerTask线程会一直被执行,调用timer.cancel(),timerTask也会执行完当次之后结束。最好if(timer!=null){timer.cancel();timer.purge();timer=null;}