程序员必须清楚的进程和线程都在这里了

2020-05-10  本文已影响0人  SuperEngCoding
image

进程

为什么要有进程

image

进程的定义

狭义定义:进程就是一段程序的动态执行过程。 广义定义:一个具有一定独立功能的程序在一个数据结合的一次动态执行过程。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。

为了更好的理解进程的概念,有必要对操作系统中的"进程"和"程序"这两个概念做一个对比。 进程概念图解

进程与程序的联系

进程与程序的区别

程序

进程

image

生活中做菜(酸辣土豆丝)的例子: 菜谱(程序): 土豆、葱姜蒜、花椒、干红辣椒、盐、糖、醋 做菜人(Cpu) : 学长(这道菜还是会做的) 炒菜(进程): 这里需要注意进程是炒菜这个过程,而不是酸辣土豆丝这道菜。

由于用户使用计算机的主要方式就是执行程序,了解进程的基本概念将有助于更加清晰地了解程序执行过程中发生的一些事情。 不存在的

线程

自从60年代提出进程的概念以来,在操作系统中一直都是以进程作为独立的基本单元,直到80年代人们又提出了更小的独立运行的基本单位: 线程

image

为什么使用线程?

什么是线程?

wiki: 线程(英语:thread)是操作系统能够进行运算调度的最小单位。大部分情况下,它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。

如何理解操作系统能够运行运算的最小单位?

通过下面两张加深一下进程和线程的概念: 进程和线程

结尾

参考资料

上一篇下一篇

猜你喜欢

热点阅读