大家好,今天分享Java继承Thread类 创建线程
首先Java创建线程可以通过三种方法
1.继承Thread类创建线程类(重点)
2.通过Runnable接口创建线程类(重点)
- 通过Callable接口(了解即可)
这次我们使用第一种方法来创建Java线程:
即:
Java继承Thread类 创建线程
操作的步骤:
自定义线程类继承Thread类
重写run()方法,编写线程执行体
创建对象,调用start()方法自动线程
写源码:
package Demo01;
//创建线程方法之一 : 重写run()方法 ,调用start 开启线程
public class ThreadTest extends Thread{
@Override
public void run() {
//run方法线程体
for (int i = 0; i < 40; i++) {
System.out.println("我在吃饭"+i);
}
}
public static void main(String[] args) {
//这是main线程,主线程
for (int i = 0; i < 40; i++) {
System.out.println("我在睡觉"+i);
}
}
}
在main方法那里执行:
看执行结果:
下面的方法可以被执行,可是上面的run()方法无法使用:
在main 方法 (主线程)下这样写:
ThreadTest testThread1 =new ThreadTest(); //创建一个线程对象
testThread1.run(); //调用start()方法开启线程
package Demo01;
//创建线程方法之一 : 重写run()方法 ,调用start 开启线程
public class ThreadTest extends Thread{
@Override
public void run() {
//run方法线程体
for (int i = 0; i < 40; i++) { //for 循环
System.out.println("我在吃饭"+i); //输出信息
}
}
public static void main(String[] args) {
//这是main线程,主线程
ThreadTest testThread1 =new ThreadTest(); //创建一个线程对象
testThread1.start(); //调用start()方法开启线程
for (int i = 0; i < 40; i++) {
System.out.println("我在睡觉"+i);
}
}
}
显示结果:
调用start 方法 他就是交替同时运行的
调用run()方法,
package Demo01;
//创建线程方法之一 : 重写run()方法 ,调用start 开启线程
public class ThreadTest extends Thread{
@Override
public void run() {
//run方法线程体
for (int i = 0; i < 40; i++) { //for 循环
System.out.println("我在吃饭"+i); //输出信息
}
}
public static void main(String[] args) {
//这是main线程,主线程
ThreadTest testThread1 =new ThreadTest(); //创建一个线程对象
testThread1.run(); //调用run()方法开启线程
for (int i = 0; i < 40; i++) {
System.out.println("我在睡觉"+i);
}
}
}
执行结果:
调用run() 方法的结果:他会先执行run()方法对应的输出结果,之后才输出main主线程对应的输出结果
这是它们两个方法之间的不同:
好了,有关于Java继承Thread类 创建线程就到这里了,谢谢大家