简单理解java之多线程(实例)

简单理解 java 之多线程(实例)

下面是线程的几种状态

图片显示失败

一、继承 Thread:

  1. 自己描述一个类
  2. 继承父类的 Thread
  3. 重写 run 方法
  4. new 一个线程对象,调用 start()方法,让线程进入就绪状态

代码实现示例:

  • 定义一个类

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    public class demo extends Thread {
    private String name;

    public demo () {
    }

    public demo (String name) {
    this.name = name;
    }

    //重写run方法
    public void run() {
    for (int i = 1; i <= 100; i++) {
    System.out.println(this.rname +",跑到第" + i + "米啦!"+"该线程名称为:"+ Thread.currentThread());
    }
    }
    }
  • 实现该类

    1
    2
    3
    4
    5
    6
    7
    8
    public static void main(String[] args) {
    demo demo1 = new demo("博尔特");
    demo demo2 = new demo("加特林");
    demo demo3 = new demo("键盘侠");
    demo1.start();//启动线程
    demo2.start();
    demo3.start();
    }
  • 显示效果

    多线程

二、实现 Runnable:

  1. 自己描述(定义)一个类
  2. 实现一个付借款 Runnable
  3. 重写 run 方法
  4. new 一个线程对象,需要创建 Thread 将自己定义的对象包进去,然后在调用 start();

代码实现示例:

  • 定义一个类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 public class runnableDemo implements Runnable {
private String rname;

public runnableDemo () {
}

public runnableDemo (String name) {
this.rname = name;
}

//重写run方法
public void run() {
for (int i = 1; i <= 100; i++) {
System.out.println("runnable方法,"+this.rname +",跑到第" + i + "米啦!"+"该线程名称为:"+ Thread.currentThread());
}
}
}
  • 实现该类

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public static void main(String[] args) {
    //1 创建一个线程对象
    runnableDemo runnableDemo1 = new runnableDemo("博尔特");
    //2 调用start方法,让线程进入就绪状态,按顺序逐个执行
    Thread t1 = new Thread(runnableDemo1);
    runnableDemo runnableDemo2 = new runnableDemo("加特林");
    Thread t2 = new Thread(runnableDemo2);
    runnableDemo runnableDemo3 = new runnableDemo("键盘侠");
    Thread t3 = new Thread(runnableDemo3);
    t1.start();
    t2.start();
    t3.start();
    }
  • 显示效果
    多线程

您的打赏,是我创作的动力,谢谢支持。
0%