Java 定时器(Timer)及线程池里使用定时器实例代码

网友投稿 228 2023-06-23


Java 定时器(Timer)及线程池里使用定时器实例代码

java Timer定时器

简单实例代码:

public class Test {

public static void main(String[] args) {

// Timer定时器

Timer mTimer = new Timer();

MyTack myTack = new MyTack();

mTimer.schedule(myTack, 2000, 3000);//第一个参数是需要执行的任务 第二个参数是延迟多少时间最开始执行,第三个参数是执行完后多少时间后进行再次执行是一个周期性的

Scanner mScanner = new Scanner(System.in);

String exti = "";

while(!http://ehttp://xti.equals("1")){

System.out.println("---->>");

exti = mScanner.next();

}

System.out.println("关闭");

mTimer.cancel();//关闭这个定时器

mScanner.close();

}

static class MyTack extends TimerTask{

@Override

public void run() {

System.out.println("执行任务");

}

}

}

线程池里的定时器

public class Test {

public static void main(String[] args) {

// 定时器

ScheduledExecutorService service = Executors.newScheduledThreadPool(3);

service.scheduleWithFixedDelay(new MyRunnable(), 0, 10000,

TimeUnit.MILLISECONDS);//一个参数是实例化一个runnable的对象,第二个参数是延迟多长时间后执行,第三个参数是执行一次后需要等待多长时间后执行第二次是一个周期性的,第四个参数是按类型算(毫秒,秒,分。。等其他的一些类型).

}

}

//需要写一个实现runnable接口的类

public class MyRunnable implements Runnable {

@Override

public void run() {

int index = 0;

while (indexhttp://++ < 100) {

System.out.println(Thread.currentThread().getName()+" "+index);

try {

Thread.sleep(50);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ES6概念 Symbol toString()方法
下一篇:java 内部类(匿名类,匿名对象,静态内部类)详解及实例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~