两种创建线程的方式

//创建线程方式一:继承Thread类,重写run()方法,调用start开启线程

//总结:线程开启不一定立即执行,由CPU调度执行
public class TestThread1 extends Thread {
@Override
public void run() {
//run方法线程体
for (int i = 0; i < 20; i++) {
System.out.println("我在学习!!!"+i);
}

}

public static void main(String[] args) {
//main线程,主线程

//创建一个线程对象
TestThread1 testThread1 = new TestThread1();

//调用start()方法开启线程
//调用启动用start进入可执行态,然后执行的时候调用run方法
//如果testThread1.run();则程序先执行run()方法,然后再执行main()方法
//如果testThread1.start();则程序同时执行run()方法和main()方法

testThread1.start();

for (int i = 0; i < 20; i++) {
System.out.println("我在看狂神说Java!!!"+i);
}
}
}
==========================================================================
//创建线程方式2:实现runnable接口,重写run方法,执行线程需要丢入runnable接口实现类,调用start方法
public class TestThread3 implements Runnable {
@Override
public void run() {
//run方法线程体
for (int i = 0; i < 20; i++) {
System.out.println("我在学习!!!"+i);
}

}

public static void main(String[] args) {
//创建runnable接口的实现类对象
TestThread3 testThread3 = new TestThread3();

//创建线程对象,通过线程对象来开启我们的线程,代理
// Thread thread = new Thread(testThread3);
// thread.start();
//上面两行代码等同与下面一行代码
new Thread(testThread3).start();

for (int i = 0; i < 20; i++) {
System.out.println("我在看狂神说Java!!!"+i);
}
}
}


总结:①继承Thread类,开始线程为testThread1.start();
   ②实现runnable接口,重写run方法,开始线程为new Thread(testThread3).start();
   ③继承Thread类为单继承,不建议使用,平常多使用实现runnable接口方式
还有一种创建线程的方式了解即可;第三种创建实现callable接口(我在下一篇博客里面介绍)
 
posted @ 2021-11-27 14:08  tuyin  阅读(105)  评论(0)    收藏  举报