作业、程序、进程、线程、协程

简介: 作业、程序、进程、线程、协程

概念


作业:作业相当于一个程序,相当于整个程序中的一段段可以并发执行的代码。


程序:描述计算机所要完成的具有独立功能的,并在时间上按严格次序前后相继的计算机操作序列集合,是一个静态的概念,它体现了编程人员要求计算机完成相应功能时所应采取的顺序步骤。


进程:用程序作为描述其执行过程以及共享资源的基本单位是不合适的。需要有一个能描述程序执行过程且能用来共享资源的基本单位,这个基本单位称为进程。在系统中能够独立运行并作为资源分配的独立单位,由一组机器指令、数据和堆栈等组成,是一个能够独立运行的活动实体。


线程:线程是进程的一部分,线程也是CPU调度的一个基本单位。


线程由线程标识符程序计数器,一组寄存器的值和堆栈组成,除了上述在运行中必不可少的资源外,线程基本上不拥有系统的资源,但它可以和属于同一个进程的其他线程共享进程所拥有的全部资源,如进程的代码段,数据段,已打开的文件,定时器和信号量机构等。


协程:单进程的条件下实现并发操作系统无法感知到单线程中的协程之间的切换因为操作系统中并没有协程的概念,协程是程序员用代码实现的一种并发实现协程的必备条件基于多道技术,我们知道了线程间的切换需要实现空间和时间上的复用,即:保存状态+切换当程间遇到阻塞时进行切换才是意义的,如果遇到计算时还切换,只会徒增切换时间。

目录
相关文章
|
15天前
|
消息中间件 并行计算 安全
进程、线程、协程
【10月更文挑战第16天】进程、线程和协程是计算机程序执行的三种基本形式。进程是操作系统资源分配和调度的基本单位,具有独立的内存空间,稳定性高但资源消耗大。线程是进程内的执行单元,共享内存,轻量级且并发性好,但同步复杂。协程是用户态的轻量级调度单位,适用于高并发和IO密集型任务,资源消耗最小,但不支持多核并行。
34 1
|
17天前
|
Java 开发者
如何通过易语言多线程提升程序响应速度
如何通过易语言多线程提升程序响应速度
114 62
|
27天前
|
存储 消息中间件 人工智能
进程,线程,协程 - 你了解多少?
本故事采用简洁明了的对话方式,尽洪荒之力让你在轻松无负担的氛围中,稍微深入地理解进程、线程和协程的相关原理知识
40 2
进程,线程,协程 - 你了解多少?
|
10天前
|
Java 开发者
如何通过易语言多线程提升程序响应速度?
如何通过易语言多线程提升程序响应速度?
|
16天前
|
消息中间件 并行计算 安全
进程、线程、协程
【10月更文挑战第15天】进程、线程和协程是操作系统中三种不同的执行单元。进程是资源分配和调度的基本单位,每个进程有独立的内存空间;线程是进程内的执行路径,共享进程资源,切换成本较低;协程则更轻量,由用户态调度,适合处理高并发和IO密集型任务。进程提供高隔离性和安全性,线程支持高并发,协程则在资源消耗和调度灵活性方面表现优异。
41 2
|
1月前
|
存储 运维 API
源码解密协程队列和线程队列的实现原理(一)
源码解密协程队列和线程队列的实现原理(一)
33 1
|
1月前
|
存储 安全 API
源码解密协程队列和线程队列的实现原理(二)
源码解密协程队列和线程队列的实现原理(二)
30 1
|
1月前
|
运维 API 计算机视觉
深度解密协程锁、信号量以及线程锁的实现原理
深度解密协程锁、信号量以及线程锁的实现原理
31 1
|
17天前
|
监控 Java API
|
30天前
|
安全 API C#
C# 如何让程序后台进程不被Windows任务管理器强制结束
C# 如何让程序后台进程不被Windows任务管理器强制结束
56 0

相关实验场景

更多