java多线程的两种创建方式

方式一:继承Thread类

1.创建一个继承于Thread类的子类
2.重写Thread类的run()方法---> 将此线程执行的操作声明在run()中
3.创建Thread类的子类的对象
4.通过此对象调用start()方法开启线程

//1.创建一个继承于Thread类的子类
public class ThreadDemo extends Thread {
    //2.重写Thread类的run()方法---> 将此线程执行的操作声明在run()中
    @Override
    public void run() {
        for (int i = 0; i < 5; i++) {
            System.out.println("子线程执行输出:"+i);
        }
    }
}


//主类
public class test {
    public static void main(String[] args) {
        //3.创建Thread类的子类的对象
        Thread threadDemo = new ThreadDemo();
        //4.通过此对象调用start()方法开启线程
        threadDemo.start();
        
        //主线程任务
        for (int i = 0; i < 5; i++) {
            System.out.println("主线程执行输出:"+i);
        }
    }
}

方式二:继承Runnable接口

1.创建一个实现Runnable接口的类
2.实现类去实现Runnable中的抽象方法:run()
3.创建实现类的对象
4.将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象
5.通过Thread类的对象调用start()

//1.创建一个实现Runnable接口的类
public class ThreadDemo implements Runnable {
    //2.实现类去实现Runnable中的抽象方法:run()
    @Override
    public void run() {
        for (int i = 0; i < 5; i++) {
            System.out.println("子线程执行输出:"+i);
        }
    }
}


//主类
public class test {
    public static void main(String[] args) {
        //3.创建实现类的对象
        ThreadDemo threadDemo = new ThreadDemo();
        //4.将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象
        Thread t1 = new Thread(threadDemo);
        //5.通过Thread类的对象调用start()
        t1.start();
        
        //主线程任务
        for (int i = 0; i < 5; i++) {
            System.out.println("主线程执行输出:"+i);
        }
    }
}
posted @ 2022-08-24 15:00  小牛码  阅读(40)  评论(0编辑  收藏  举报