什么是进程?什么是线程?
线程与进程这个词其实离我们非常近!看下面这张图你就明白了!
什么是进程呢?操作系统中最核心的概念就是 进程,进程是对正在运行中的程序的一个抽象。操作系统的其他所有内容都是围绕着进程展开的。进程是操作系统提供的最古老也是最重要的概念之一。
我们可以看到用户打开了程序操作系统分配资源运行程序就是一个进程!
打开电脑的任务管理器我们可以看到正在运行的进程
现在的操作系统都支持多线程那么它是如何区分的呢?
是通过程序运行时的Pid
Pid的意思是进程标识符。PID英文全称为Process Identifier,其属于电工电子类技术术语。PID是各进程的身份标识,只要程序一运行系统就会为用户自动分配一个独一无二的PID,其在运行时PID是不会改变标识符的,但是进程终止后PID标识符就会被系统回收,就可能会被继续分配给新运行的程序。
单核cpu进程在同一时刻只能运行一个进程
但是随着多核cpu的时代到来现在基本已经实现多进程同时运行!
什么是线程?
还是这张图
我们可以看到程序运行后是需要使用的那么谁来完成这项工作呢?没错就是线程!
线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。
程序运行使用时会将指令传输给cpu从而达成用户完好体验使用!
打开资源监视器可以看到一个进程可以存在多个线程的!