多线程的创建和使用
一、线程的创建方式
创建线程常用的有两种方式
1,继承Thread类来创建线程类。
2,实现 Runnable 接口 。
创建线程-方法1-继承 Thread类
可以通过继承 Thread 来创建一个线程类,该方法的好处是 **this 代表的就是当前线程,**不需要通过 Thread.currentThread() 来获取当前线程的引用。
代码如下:
/**
* 描述:继承Thread类来创建线程类
*/
public class Main {
public static void main(String[] args) {
MyThread t = new MyThread();
t.start(); // 线程开始运行
}
}
class MyThread extends Thread {
@Override
public void run() {
System.out.println("这里是线程运行的代码");
}
}
创建线程-方法2-实现 Runnable 接口
通过实现 Runnable 接口,并且调用 Thread 的构造方法时将 Runnable 对象作为 target 参数传入来创建线程对象。 该方法的好处是可以规避类的单继承的限制;但需要通过 Thread.currentThread() 来获取当前线程的引用。
/**
* 描述:继承Thread类来创建线程类
*/
public class Main {
public static void main(String[] args) {
MyThread t = new MyThread();
new Thread(t).start(); // 线程开始运行
}
}
class MyThread implements Runnable {
@Override
public void run() {
System.out.println("这里是线程运行的代码");
}
}
线程的使用
Thread 的常见构造方方法
Thread类 常见方法
ID :是线程的唯一标识,不同线程不会重复
名称:是各种调试工具用到
状态:表示线程当前所处的一个情况
优先级:高的线程理论上来说更容易被调度到 关于后台线程,需要记住一点:JVM会在一个进程的所有非后台线程结束后,才会结束运行。 是否存活,即简单的理解,为 run 方法是否运行结束了。