线程 进程 协程 管程 这都是啥

作者:神秘网友 发布时间:2021-04-15 08:10:53

线程 进程 协程 管程 这都是啥

自己总结一下
  • 对于操作系统来说,线程是最小的执行单元,而进程则是最小的资源管理单元。
  • 协程,一种比线程更加轻量级的存在,一个进程可以有多个线程,而一个线程里面也可以有多个协程。(注:协程是被程序所管理)
  • 管程 就是城管 资源管理程序共同构成的一个操作系统的资源管理模块,把对该共享数据结构实施的操作定义为一组过程
线程与进程
  • 进程就是一个应用程序的启动。它包括至少一个线程,数据,代码,地址空间和打开的文件。
  • 那线程呢?线程属于进程的一部分,它在进程里面有单独的栈空间,它是程序的实际执行者,对于进程来说,线程可以减少调度的成本,线程的切换不会引起进程的切换。 对于操作系统来说,线程是最小的执行单元,而进程则是最小的资源管理单元。(注:进程和线程都是被操作系统所管理)
协程
  • 协程,一种比线程更加轻量级的存在,可以这样说,一个进程可以有多个线程,而一个线程里面也可以有多个协程。(注:协程是被程序所管理),因为协程的暂停完全由程序控制,线程的阻塞状态是由操作系统内核来进行切换。所以说协程性能得到了很大的提升,不会像线程切换那样消耗资源,协程的开销远远小于线程的开销。

它的应用: 1.Lua语言(Lua从5.0版本开始使用协程,通过扩展库coroutine来实现 2.Python语言(在python 3.5以后,async/await 成为了更好的替代方案) 3.Go语言(Go语言对协程的实现非常强大而简洁,可以轻松创建成百上千个协程并发执行) 4.Java语言

管程
  • 管程就是代表共享资源的数据结构以及由对该共享数据结构实施操作的一组过程所组成的资源管理程序共同构成的一个操作系统的资源管理模块。
  • 比如一次只允许一个进程访问的资源或者多个进程只能互斥访问的资源,该访问需要同步操作,比如信号量就是一种方便有效的进程同步机制。但信号量的方式要求每个访问临界资源的进程都具有wait和signal操作。这样使大量的同步操作分散在各个进程中,不仅给系统管理带来了麻烦,而且会因同步操作的使用不当导致死锁。管程就是为了解决这样的问题而产生的。
  • 管程定义了一个数据结构和能为并发进程所执行(在该数据结构上)的一组操作,这组操作能同步进程和改变管程中的数据。
  • 操作系统中管理的各种软件和硬件资源,均可用数据结构抽象地描述其资源特性,即用少量信息和对该资源所执行的操作来表征该资源,而忽略它们的内部结构和实现细节。利用共享数据结构抽象地表示系统中的共享资源。而把对该共享数据结构实施的操作定义为一组过程,如资源的请求和释放过程request和release。进程对共享资源的申请、释放和其他操作,都是通过这组过程对共享数据结构的操作来实现的,这组过程还可以根据资源的情况接受或阻塞进程的访问,确保每次仅有一个进程使用该共享资源,这样就可以统一管理对共享资源的所有访问,实现临界资源互斥访问。
  • 管程就是这样被请求和释放临界资源的进程所调用。

本文章教程介绍完毕,更多请访问跳墙网其他文章教程!

线程 进程 协程 管程 这都是啥 相关文章

  1. 操作系统-管程进程和线程之间的差别

    操作系统-管程、进程和线程之间的差别 软件设计师的书看到操作系统,一直有疑问,什么管程、进程、线程都是什么鬼。那么经过我不懈努力,终于搞通了他们之间的差别,自认为天下第二没有天下第一之后,赶来给各位客官...

  2. 进程、线程、协程之概念理解+线程和进程各自有什么区别和优劣

    进程、线程、协程之概念理解+线程和进程各自有什么区别和优劣 一、概念 首先,根据图了解一下串行,并行和并发的基本概念: 1、进程 资源分配的基本单位 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动...

  3. Python进程线程与协程

    Python进程、线程与协程 进程 : ??进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基

  4. 协程原理深度剖析 进程线程协程原理一课通收藏

    协程原理深度剖析 进程线程协程原理一课通收藏 \/ itspcool 交流学习 进程,线程和协程 进程:一段程序的执行过程,资源分配和调度的基本单位,有其独立地址空间,互相之间不发生干扰 线程:轻量级进程,资源调度的最小单...

  5. python基础---进程、线程、协程

  6. 进程线程协程

    进程线程协程 进程,直观点说,保存在硬盘上的程序运行以后,会在内存空间里形成一个独立的内存体,这个内存体有自己独立的地址空间,有自己的堆,上级挂靠单位是操作系统。操作系统会以进程为单位,分配系统资源(CP...

  7. 进程线程协程

    并发并行 并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。 并行是指“并排行走”或“同时实...

  8. 进程_线程_协程对比

    进程_线程_协程对比 进程_线程_协程对比 1. 进程、线程、协程之间的关系 2.进程、线程、线程的对比 1. 进程、线程、协程之间的关系 一个进程至少有一个线程,进程里面可以有多个线程 一个线程里面可以有多个协程 2.进程、线...

  9. Python基础进程线程协程(2)

    Python基础:进程、线程、协程(2) 进程与线程 什么是进程(process)? An executing instance of a program is called a process. Each process provides the resources needed to execute a program. A process has a virtual address space, executable cod

  10. Python多进程、多线程、协程

    以前学习都是知其所以然而不知其所以然,温故而知新也,自己以后也好看看自己当初如何学习的! python3的多线程,多进程,协程学习笔记. 系统 Windows10 运行环境 Python3.8.3 多进程 进程之间的数据是 无法进行共享 的, 什么是进程 知乎...

  11. 进程、线程和协程之间的区别和联系

    进程、线程和协程之间的区别和联系 文章目录 一、进程 二、线程 三、进程和线程的区别与联系 四、一个形象的例子解释进程和线程的区别 五、进程/线程之间的亲缘性 六、协程 一、进程 ??进程,直观点说,保存在硬盘上的程...

  12. 进程、线程、协程、异步、非堵塞IO,多路复用详解

    进程、线程、协程、异步、非堵塞IO,多路复用详解 未完待续… 进程的概念 php如何创建子进程,修改进程名称 php查看进程 进程组、会话 daemon进程 信号 进程间通信(ipc),信号,队列,共享内存 进程的概念 进程:是系统进行...



  13. 29.并发编程之多线程:进程池与线程池、并发编程之协程

    进程池与线程池 并发编程之协程 进程池与线程池 在刚开始学多进程或多线程时,我们迫不及待地基于多进程或多线程实现并发的套接字通信,然而这种实现方式的致命缺陷是:服务的开启的进程数或线程数都会随着并发的客户...


  14. python的进程库multiprocessing或线程库threading与协程库gevent

    python的进程库multiprocessing或线程库threading与协程库gevent同时使用的一个坑 最近由于需求同时使用python的进程库multiprocessing和协程库gevent,demo代码: 出现问题:进程池无法工作运行 原因:monkey.patch_all()会把进程池或线程池进行...

  15. 深入理解进程、线程、协程的原理及应用,助你开发更加高效

    深入理解进程、线程、协程的原理及应用,助你开发更加高效 1. 进程 进程是系统进行资源分配和调度的一个独立单位,程序段、数据段、PCB三部分组成了进程实体(进程映像), PCB是进程存在的唯一标准 1.1 进程的组织方式: ...

  16. 快速理解多进程与多线程以及协程的使用场合和特点

    快速理解多进程与多线程以及协程的使用场合和特点 这篇文章是我从也是同网站的一个大神里面拷贝过来的,有什么不对的愿接受批评 首先我们来了解下python中的进程,线程以及协程! 从计算机硬件角度: 计算机的核心是CPU...


每天更新java,php,javaScript,go,python,nodejs,vue,android,mysql等相关技术教程,教程由网友分享而来,欢迎大家分享IT技术教程到本站,帮助自己同时也帮助他人!

Copyright 2020, All Rights Reserved. Powered by 跳墙网(www.tqwba.com)|网站地图|关键词