乐趣区

关于多线程:2-线程的两种实现方式

1. 线程的两种实现形式

  • 继承 Thread 类
// 继承 Thread 类
    static class MyThread1 extends Thread{
        @Override
        public void run() {System.out.println("继承 Thread 实现本人的线程");
        }
    }
  • 实现 Runnable 接口
// 实现 Runnable 接口
    static class MyThread2 implements Runnable{
        @Override
        public void run() {System.out.println("实现 Runnable 接口实现本人的线程");
        }
    }

2. 线程的启动

public static void main(String[] args) {
        //1. 通过继承 Thread 创立本人的线程并且启动
        new MyThread1().start();

        //2. 通过实现 Runnable, 创立本人的线程并且启动
        new Thread(new MyThread2()).start();

        //3. 通过匿名外部类创立线程
        new Thread(new Runnable() {
            @Override
            public void run() {System.out.println("匿名外部类实现的线程");
            }
        }).start();

        //4.lambda 表达式创立线程
        new Thread(()->{System.out.println("通过");
        }).start();}

留神 不论用哪种形式实现本人的线程,最终要启动线程必须得通过 Thread.start() 办法启动,start()办法会把线程交给 CPU 去调度执行,只有当 CPU 调度到线程把工夫片调配给它,线程才会执行。

退出移动版