线程介绍

SOBER大约 1 分钟

线程介绍

线程概念

是为完成特定任务、用某种语言编写的一组指令的集合。简单的说就是我们写的代码

  1. 线程由进程创建的,是进程的一个实体
  2. 一个进程可以拥有多个线程

单线程

同一个时刻,只允许执行一个线程

多线程

同一个时刻,可以执行多个线程,比如一个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);
    }
}

进程概念

  1. 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存空间。当我们使用迅雷,又启动了一个进程,操作系统将为迅雷分配新的内存空间。
  2. 进程是程序的一次执行过程,或是正在运行的一个程序。是动态过程:有它自身的产生、存在和消亡的过程