多线程的创建方式
创建多线程有八种方式:继承Thread类、实现Runnable接口、实现Callable接口、匿名内部类、线程池、定时器、Lambda表达式、Spring方式
方式1: 继承Thread类
1)实现步骤:
a.创建一个类,这个类需要继承Thread
b.重写Thread类的run方法(业务代码)
c.实例化创建好的线程类
d.调用实例化对象的start方法启动线程
2)内存图解
以一个简单的程序为例,其中Thread类的子类中重写run方法为for循环打印一个数。本质上来说,每开启一个线程就会在栈空间中开辟出一个空间,分别执行run方法,互不干扰。CPU可以随机选择要开启的线程,所以最终出现的结果也是随机的。
3) 样例程序
public class CreateThreadMethod {
public static void main(String args[]) {
Thread thread1 = new ThreadCreateMethod1();
thread1.start();
System.out.println("主线程正在运行");
try {
thread1.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
class ThreadCreateMethod1 extends Thread {
@Override
public void run(){
System.out.println("创建方法1线程正在运行");
}
}
方式2:实现Runnable接口
3) 样例代码
public class CreateThreadMethod {
public static void main(String args[]) {
Runnable r = new ThreadCreateMethod2();
Thread thread2 = new Thread(r);
thread2.start();
System.out.println("主线程正在运行");
try {
thread2.sleep(10);
}