线程的生命周期,实现方式

线程的生命周期

/**
 * 线程的生命周期
 *
 * 1.新建状态:创建线程对象(Thread thread = new Thread())
 * 2.就绪状态:调用start方法(thread.start())但是还没有得到cpu的调度
 * 3.运行状态:得到cpu的调度开始执行
 * 4.阻塞状态:进入阻塞到阻塞状态,阻塞消除后,线程便会转入到就绪状态到就绪队列中排队,得到cpu的调度后从原来停止的位置开始执行
 * 5.死亡状态:线程结束(原因:1.正常运行完成 2.调用stop方法(不建议使用stop方法会导致run方法代码逻辑不完整,恶意中段) 3.异常)
 */

 

线程的三种实现方式

1.继承Thread类(Thread其实是实现了Runable接口)

public class MyThread extends Thread{

    @Override
    public void run(){
        System.out.println("继承Thread实现线程");
    }

    public static void main(String args[]){
        MyThread myThread = new MyThread();
        myThread.start();
    }
}

2.实现Runnable接口

public class MyThread implements Runnable{

    @Override
    public void run(){
        System.out.println("实现Runnable接口");
    }

    public static void main(String args[]){
        Thread thread = new Thread(new MyThread());
        thread.start();
    }
}

3.实现Callable接口

public class MyThread implements Callable<String> {

    @Override
    public String call(){
        return "实现Callable接口";
    }

    public static void main(String args[]){
        MyThread myThread = new MyThread();
        FutureTask futureTask = new FutureTask(myThread);
        Thread thread = new Thread(futureTask);
        thread.start();
    }
}

 

posted @ 2021-02-21 11:12  饭后咖啡  阅读(54)  评论(0)    收藏  举报