2.0、Java多线程——创建线程以及执行线程的方式
创建线程的三种方式:
我们先来说说第一种创建方式,步骤如下:
1、自定义线程类继承 Thread 类
2、重写 run() 方法,编写线程执行体
3、创建线程对象,调用 start() 方法启动线程
实现代码如下:
package com.hkl.demo01;
//创建爱内存方式一:Thread类,重写run()方法,调用start开启线程
//总结:注意,线程开启不一定立即执行,由CPU调度执行
public class TestThread1 extends Thread {
@Override
public void run() {
//run方法线程体
for (int i = 0; i < 200; i++) {
System.out.println("线程正在运行..." + i);
}
}
public static void main(String[] args) {
//main线程 , 主线程
//创建一个线程对象
TestThread1 testThread1 = new TestThread1();
//调用start()方法开启线程
testThread1.start();
for (int i = 0; i < 1000; i++) {
System.out.println("主线程正在执行..." + i);
}
}
}
执行 main函数 后可以看到如下结果:
可以得到结论:
如果直接调用run()方法main函数会按照顺序执行,但是如果调用start()方法,线程会由cpu去调度,不能由人为控制,执行并不一定会按照顺序执行。
可以看到上面图中执行的结果表明:两个线程在相互切换交替进行