
1 package day11.lesson1.p5;
2
3 /*
4 1.6 线程的生命周期
5 线程一共有五种状态,线程在各种状态之间转换
6 见五态图
7
8 1.7 实现多线程方式2:实现Runnable接口
9
10 Thread构造方法
11 Thread(Runnable target) 分配一个新的Thread对象
12 Thread(Runnable target, String name) 分配一个新的Thread对象
13
14 实现步骤
15 定义一个类MyRunnable实现Runnable接口
16 在MyRunnable类中重写run()方法
17 创建MyRunnable类的对象
18 创建Thread类的对象,把MyRunnable对象作为构造方法的参数
19 启动线程
20
21 总结
22 多线程的实现方案有两种:
23 继承Thread类
24 实现Runnable接口
25 相比继承Thread类,实现Runnable接口的好处:(即推荐通过Runnable接口实现多线程)
26 避免了Java单继承的局限性;
27 适合多个相同程序的代码去处理同一个资源的情况,
28 把线程和程序的代码、数据有效分离,
29 较好的体现了面向对象的设计思想。
30 */
31 public class MyRunnable implements Runnable{
32 @Override
33 public void run() {
34 for (int i=0; i<100; i++){
35 System.out.println(Thread.currentThread().getName() + ":" + i);
36 }
37 }
38 }
39
40 class MyRunnableDemo{
41 public static void main(String[] args) {
42 MyRunnable mr = new MyRunnable();
43
44 // Thread t1 = new Thread(mr);
45 // Thread t2 = new Thread(mr);
46 //默认线程名称
47
48 Thread t1 = new Thread(mr, "高铁");
49 Thread t2 = new Thread(mr, "飞机");
50 //自定义线程名称
51
52 t1.start();
53 t2.start();
54 }
55 }