目录
一、认识线程
1.什么是线程?
一个线程就是一个“执行流”,每个线程都可以按照顺序执行自己的代码,多个线程之间“同时”执行着多份代码。
2.为啥要有线程?
·单核CPU要提高算力就需要多核CPU,并发编程能更充分利用多核CPU资源。
·有些任务场景需要等待IO,需要用并发编程在等待IO的时间去做一些其他工作。
3.线程和进程的区别?
·进程是包含线程的,每个进程至少有一个线程存在,即主线程。
·线程和进程之间不共享内存空间,同一个进程的线程之间共享同一个内存空间。
·进程是系统分配资源的最小单位,线程是系统调度的最小单位。
4.Java 的线程 和 操作系统线程 的关系
·线程是操作系统中的概念,操作系统内核实现了线程这样的机制,并且对用户提供了一些API供用户使用(例如;Linux的pthread库)
·Java标准库中Thread类可以视为是对操作系统提供的API进行了进一步的抽象和封装。
二、线程的创建
1.继承Thread进行实现
// 创建⽅式 1:继承 Thread
class MyThread extends Thread {
@Override
public void run() {
System.out.println("你好,线程~");
}
}
// 测试类
public class ThreadExample {
public static void main(String[] args) {
// 创建线程
Thread thread = new MyThread();
// 启动线程
thread.start();
}
}
启动线程:start方法
run方法:使用main线程调用的一个普通方法
start方法:创建了新的线程执行
使用Thread新建线程的缺点:Java语言是单继承语言,如果继承了Thread之后,就不能继承其他类。