Timer结合TimerTask替代子线程循环操作

平常我们使用的子线程都是在run方法内写while(flag)循环,通过外界改变flag去

终止线程,现在我们有了一个新的方法通过计时器去操作,首先写一个TimerTask对象。

	private class MyTask extends TimerTask {
		
		@Override
		public void run() {
			//执行操作语句
		}
	}
开启线程,timer.schedule(,,)安排指定的任务从指定的延迟后开始进行重复的 固定延迟执行.

	public void start(View v) {
		if(timer == null) {
			timer = new Timer();
		}
		if(mTask == null) {
			// 创建任务对象
			mTask = new MyTask();
			// 执行任务
			timer.schedule(mTask, 0, 50);
		}
	}
	

终止线程

	public void stop(View v) {
		// 将指定计时器中的所有任务全部都停止掉
		// timer.cancel();
		if(timer != null && mTask != null) {
			mTask.cancel();
			mTask = null;
		}
	}




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值