加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • Part 01●  什么是进程? ●
    • Part 02●  什么是线程? ●
    • Part 03●  什么是协程? 
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

五分钟技术趣谈 | 计算机基础概念之进程、线程和协程

2023/12/16
2409
阅读需 5 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

作者:匡鹏,单位:中国移动智慧家庭运营中心

互联网技术的兴起,让更多的人接触到了计算机编程。进程、线程、协程等作为操作系统中最核心的概念及技术是每位服务器后端开发程序猿都绕不开的。那么什么是进程、线程以及协程呢?它们又各自有哪些相同和区别呢?本文将会对这些问题做一个深入浅出的介绍。

数字化转型时代,计算机编程技术越来越普及。高级编程语言的封装使得编程变得简单,作为代码执行最重要的载体,什么是进程、线程一级协程❓本期Labs带大家认识下计算机基础之编程技术的那些事儿~

Part 01●  什么是进程? 

进程是操作系统结构的基础,是一次程序的执行;是一个程序及其数据在处理机上顺序执行时所发生的活动,是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的独立单元。

初看这段文字回觉得十分抽象,难以理解。以Windows操作系统为例,打开任务管理器并切换到进程页,即可直观感触到进程所代表的含义。

简单来讲,进程就是服务端应用程序的一个个启动实例。一个word是一个进程,一个吃鸡在后台也是一个进程。进程理论上拥有独立代码和打开的文件资源、数据资源和内存空间。

进程主要由三部分组成:

1、进程控制块PCB:进程存在的唯一标识,时操作系统用来记录和刻画进程状态及环境信息的数据结构,也是操作系统掌握进程的唯一资料结构和管理进程的主要依据。

2、数据段:进程运行中的各种数据。

3、程序段:程序代码。

Part 02●  什么是线程? 

线程可以理解成进程的一个从属,是应用程序的执行者,线程是在进程中独立运行的子任务。一个进程理论上由有个一个主线程和多个子线程组成。相同进程的线程的内存、文件、数据是共用的,但拥有独立的栈空间。对于操作系统来讲,线程是最小的执行单元。比如使用聊天软件QQ时我们能够同时进行聊天、发送文件以及视频等,这每一项的功能背后都有对应的线程在后台默默地运行。

线程的特征和进程的差不多,线程还具备以下优点:1、一个进程中可以同时存在多个线程,这些线程共享该集成的资源;线程间通信无需操作系统干预,开销更小;2、线程的并发比进程的更小,系统并发性高。除了具备以上的优点外,线程也存在缺点:当进程中的一个线程崩溃时,会导致所属的进程的所有线程崩溃。

程序执行是在不同进程和线程之间协作进行的,操作系统在多个进程和线程同时执行并进行切换实现应用程序的并行执行,对操作系统而言,这是极大的性能开销,那不能不通过操作系统层面来实现高并发的程序运行呢?协程的概念也就因此产生了。

Part 03●  什么是协程? 

协程并不像进程和线程那样广为人知,但其实协程的概念比线程出现得更早,直到近来的Golang、Python等编程语言从语言层面提供了对协程更好的支持,尤其是Goroutine为代表的Go协程实现,才让程序员对协程有了更多的了解。

协程是一种比线程更加轻量级的程序运行的存在。正如一个进程可以拥有多个线程一样,一个线程也可以拥有多个协程。协程不被操作系统内核所管理,完全在用户态执行,可以完全由用户程序进行控制。正因为如此,使用协程不需要操作系统进行资源消耗,使执行的性能得到了极大的提升。

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
TJA1042T/3/CM,118 1 NXP Semiconductors TJA1042 - High-speed CAN transceiver with Standby mode SOIC 8-Pin

ECAD模型

下载ECAD模型
$1.55 查看
LAN8710A-EZC-TR 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER, QCC32, 5 X 5 MM, 0.90 MM HEIGHT, ROHS COMPLIANT, QFN-32

ECAD模型

下载ECAD模型
$1.25 查看
TJA1052IT/5Y 1 NXP Semiconductors TJA1052i - Galvanically isolated high-speed CAN transceiver SOP 16-Pin

ECAD模型

下载ECAD模型
$7.84 查看
中国移动

中国移动

中国移动有限公司(「本公司」,包括子公司合称为「本集团」)于1997年9月3日在香港成立,本集团在中国内地所有三十一个省、自治区、直辖市以及香港特别行政区提供通信和信息服务,业务主要涵盖个人、家庭、政企和新兴市场的语音、数据、宽带、专线、IDC、云计算、物联网等,是中国内地最大的通信和信息服务供应商,亦是全球网络和客户规模最大、盈利能力领先、市值排名位居前列的世界级通信和信息运营商。

中国移动有限公司(「本公司」,包括子公司合称为「本集团」)于1997年9月3日在香港成立,本集团在中国内地所有三十一个省、自治区、直辖市以及香港特别行政区提供通信和信息服务,业务主要涵盖个人、家庭、政企和新兴市场的语音、数据、宽带、专线、IDC、云计算、物联网等,是中国内地最大的通信和信息服务供应商,亦是全球网络和客户规模最大、盈利能力领先、市值排名位居前列的世界级通信和信息运营商。收起

查看更多

相关推荐

电子产业图谱

移动Labs是中国移动的社交化新媒体平台,是面向外部行业及产业链合作伙伴的信息发布、业务发展和产业推进门户。