线程介绍
大约 1 分钟
线程介绍
线程概念
是为完成特定任务、用某种语言编写的一组指令的集合。简单的说就是我们写的代码
- 线程由进程创建的,是进程的一个实体
- 一个进程可以拥有多个线程
单线程
同一个时刻,只允许执行一个线程
多线程
同一个时刻,可以执行多个线程,比如一个QQ进程,可以同时打开多个聊天窗口,一个迅雷进程,可以同时下载多个文件
并发
同一个时刻,多个任务交执行,造成一种“貌似同时”的错觉,简单的说,单核cpu实现的多任务就是并发。
并行
同一个时刻,多个任务同时执行。多核cpu可以实现并行。
获取当前 cpu 数量
package commonThread;
public class CpuNum {
public static void main(String[] args) {
Runtime runtime = Runtime.getRuntime();
int cpuNum = runtime.availableProcessors();
System.out.println("获取当前cpu数量 = " + cpuNum);
}
}
进程概念
- 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存空间。当我们使用迅雷,又启动了一个进程,操作系统将为迅雷分配新的内存空间。
- 进程是程序的一次执行过程,或是正在运行的一个程序。是动态过程:有它自身的产生、存在和消亡的过程