传统线程技术和定时器的应用
2017-08-03 15:56
363 查看
创建线程的两种传统方式
代码package thread; public class TraditionalThread { public static void main(String[] args) { // 第一种 继承 Thread类 Thread thread = new Thread() { @Override public void run() { while (true) { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("1 : " + Thread.currentThread().getName()); } } }; thread.start(); // 第二种 Runnable接口 这种方式耦合度低, 并且更加符合面向对象的编程思想 // 将线程 和线程所运行的代码分离 分别放到两个对象中 使用时在组合起来 Thread thread2 = new Thread(new Runnable() { @Override public void run() { while (true) { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("2 : " + Thread.currentThread().getName()); } } }); thread2.start(); new Thread(new Runnable() { @Override public void run() { } }) { public void run() { // 会运行这里的代码 // 原因是子类对象重写了父类中的run方法,而寻找Runnable接口的run方法是在父类run方法重定义的 }; }.start(); } }
定时器程序
代码package TraditionalThread; import java.util.Date; import java.util.Timer; import java.util.TimerTask; public class TraditionalTimerTest { private static int count = 0; public static void main(String[] args) { // 炸弹 在程序启动后过3秒后爆炸 然后再每间隔1秒钟中爆炸一次 new Timer().schedule(new TimerTask() { @Override public void run() { System.out.println("bombing!"); } }, 3000, 1000); // 炸弹 在程序启动后过3秒后爆炸 然后再每间隔2,4,2,4...秒钟中爆炸一次 class MyTimerTask extends TimerTask { @Override public void run() { count = (count + 1) % 2; System.out.println("bombing!"); new Timer().schedule(new MyTimerTask(), 2000 + 2000 * count); } } new Timer().schedule(new MyTimerTask(), 3000); while (true) { try { Thread.sleep(1000); System.out.println(new Date().getSeconds()); } catch (InterruptedException e) { e.printStackTrace(); } } } }
相关文章推荐
- 多线程并发库高级应用 之 传统定时器、互斥、同步通信技术
- 多线程并发库高级应用 之 传统定时器、互斥、同步通信技术
- 传统线程技术中的定时器技术
- Java多线程与并发应用-(4)-传统线程通信技术试题
- 【张孝祥并发课程笔记】01:传统线程技术和定时器技术回顾
- 【java并发】传统线程技术中的定时器技术
- Java多线程与并发库高级应用-传统定时器技术回顾
- 多线程并发库高级应用 之 传统定时器、互斥、同步通信技术
- 多线程并发库高级应用 之 传统定时器、互斥、同步通信技术
- 线程高级应用-心得1-传统线程和定时器讲解及案例分析
- Java多线程与并发应用-(3)-传统线程通信技术及生产者消费者模式
- 线程高级应用-心得1-传统线程和定时器讲解及案例分析
- 【java并发】传统线程技术中的定时器技术
- 线程高级应用-心得1-传统线程和定时器讲解及案例分析
- 传统定时器技术
- Java并发库(一):传统线程技术回顾
- 传统线程技术(一)
- 传统定时器技术-笔记整理2
- Java多线程与并发库高级应用-传统线程同步通信技术
- 【java并发】传统线程技术中创建线程的两种方式