继承Thread实现多线程
重写run()方法写多线程的逻辑代码,继承Thread类的实体对象调用start()方法启动线程
public class Test01 {
public static void main(String[] args) {
Thread thread = new TestThread();
thread.start();//启动线程
for (int i = 0; i < 50; i++) {
System.out.println("===================="+i);
}
/*
多次运行这个main方法之后
我们发现main方法中打印的3行与开启线程运行run方法中的打印语句是混合起来
而且main方法中的打印与run方法中打印语句顺序是不固定的
为什么呢?
main执行to.atart 0方法开启多线程之后,就相当于在main方法之外开启一个支流
这个个时候to. start ()的之后的main方法的其他代码的运行就与run方法运行无关了
以当前代码为例
to.start()的之后的main方法的其他代码与run方法的代码并行运行
就像两条河流一样,备走备的
那么控制台输出的结果就是两条并行程序的运行结果总和,这个结果需要拆开成两部分看
就可以看到,各自是保持自己输出顺序
这个就是多线程的异步性
简单来说开启了线程之后run方法中运行的代码主程序中thread.start()之后的程序是并行执行的,没先后关系,这个叫异步
*/
}
}
/**
* @Description:继承Thread是方式实现多线程
*/
public class TestThread extends Thread{
@Override
public void run() {
System.out.println("多线程运行的代码");
for(int i = 0; i < 50; i++){
System.out.println("这是多线程的逻辑代码:" + i);
}
}
}