java -创建线程+启动线程

通过start()方法创建线程

并且会自动执行run()方法,run()方法时本次新建线程要执行的内容。

ps: 不能直接调用run()方法,如果直接调用run()方法则还是在主线程调用,只有通过start()方法调用run()方法才是在新线程中执行的。

  start()方法 如何调用run()方法,比较复杂,参考文档:

https://blog.csdn.net/qq_42859864/article/details/103428493?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v1~rank_v31_ecpm-1-103428493.pc_agg_new_rank&utm_term=thread+start+%E5%90%8E%E8%B0%83%E7%94%A8%E5%85%B6%E4%BB%96%E6%96%B9%E6%B3%95%E6%98%AF%E5%9C%A8run%E5%89%8D%E8%B0%83%E7%94%A8&spm=1000.2123.3001.4430

 

1、继承Thread类,调用start()方法启动线程,重写run()方法。

start()方法会自从创建一个线程,并且执行run()方法,执行结束销毁线程。

public class ThreadDemo1 extends Thread{
    /**
     * 重写run()方法
     */
    @Override
    public void run() {
        super.run();
        System.out.println("ThreadDemo1执行run方法");
    }

    public static void main(String[] args) {
        ThreadDemo1 threadDemo1 = new ThreadDemo1();
        //通过start()方法会自动创建线程,并且执行run()方法
        threadDemo1.start();
    }
}

执行结果:
ThreadDemo1执行run方法

 

2、实现Runnable()接口,将类转换为Thread类型,调用start()方法启动线程,实现run()方法。

/**
 * 实现Runnable接口
 */
public class ThreadDemo2 implements Runnable{

    //重写run()方法
    public void run(){
        System.out.println("执行ThreadDemo2中的run()方法");
    }
    
    public static void main(String[] args) {
        ThreadDemo2 threadDemo1 = new ThreadDemo2();
        Thread thread = new Thread(threadDemo1);
        thread.start();
    }
}

执行结果:
执行ThreadDemo2中的run()方法

 

说明:

在程序开发中,建议使用实现Runnable接口来创建线程。实现接口的同时,还可以继承其他的类。

通过继承Thread类创建线程,继承只能是单继承,就不能继承其他的类。

 

posted on 2022-03-28 10:20  jesse_zhao  阅读(341)  评论(0编辑  收藏  举报

导航