您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

多线程_几种定时器的写法

2024/3/22 16:05:56发布34次查看
1 :固定时间后执行一次任务:1000毫秒后执行任务(只执行一次)
2: 5000毫秒后,执行任务,以后每隔1000毫秒再执行一次任务(无限执行)
3:交替再生:任务2秒4秒交替的执行(无限执行),
4: 创建两个循环交替任务:2秒后,a任务执行。 a任务里面创建一个b任务4秒后执行,b任务里面又创建一个a任务2秒后执行,如此往复。
1,2,3代码:
import java.util.date; import java.util.timer; import java.util.timertask; /** * @author administrator @zsw 2012-7-19 下午04:37:19 */ public class traditionaltimer { public static void main(string[] args) { //1: // test1(); //2: // test2(); //3: test3(); //用于打印时间秒数 while (true) { system.out.println(new date().getseconds()); try { thread.sleep(1000); } catch (interruptedexception e) { // todo auto-generated catch block e.printstacktrace(); } } } //1:固定时间后执行一次任务:1000毫秒后执行任务(只执行一次) public static void test1() { new timer().schedule(new timertask() { @override public void run() { // todo auto-generated method stub system.out.println("bombing!"); } }, 1000); } // 2:5000毫秒后,执行任务,以后每隔1000毫秒再执行一次任务(无限执行) public static void test2() { new timer().schedule(new timertask() { @override public void run() { // todo auto-generated method stub system.out.println("bombing!"); } }, 5000, 1000); } //3:交替再生:任务2秒4秒交替的执行(无限执行), static int count = 0; public static void test3() { class mytimertask extends timertask { @override public void run() { count = (count + 1) % 2; system.out.println("bombing!"); new timer().schedule(new mytimertask(), 2000 + count * 2000); } } new timer().schedule(new mytimertask(), 2000); } }
4代码
import java.util.date; import java.util.timer; import java.util.timertask; /** * @author administrator @zsw 2012-7-20 下午08:08:42 */ public class traditionaltime2 { /* * 创建两个循环交替任务:2秒后,a任务执行。 * a任务里面创建一个b任务4秒后执行,b任务里面又创建一个a任务2秒后执行,,如此往复。 * */ public static void main(string[] args) { traditionaltime2 t2=new traditionaltime2(); new timer().schedule(t2.new a(), 2000); //用于打印时间秒数 while (true) { system.out.println(new date().getseconds()); try { thread.sleep(1000); } catch (interruptedexception e) { // todo auto-generated catch block e.printstacktrace(); } } } class a extends timertask { @override public void run() { system.out.println("a bombing!"); new timer().schedule(new b(), 4000); } } class b extends timertask { @override public void run() { system.out.println("b bombing!"); new timer().schedule(new a(), 2000); } } }
更多 多线程_几种定时器的写法。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product