首页 > 系统相关 >进程 线程 协程的区别

进程 线程 协程的区别

时间:2023-08-10 20:45:58浏览次数:37  
标签:调用 协程 线程 进程 崩溃 子程序

进程

进程是操作系统, 进行资源分配和调度的基本单位, 多个进程之间相互独立, 进程的特点是稳定性好, 如果一个进程崩溃, 不影响其他进程, 但是进程消耗资源大, 开启的进程数量有限制

线程

线程是cpu进行资源分配和调度的基本单位, 线程是进程的一部分, 是比进程更小的, 能独立运行的基本单位, 一个进程下的多个线程, 可以共享该进程的所有资源, 现成的特点是如果io操作密集, 则可以多线程运行, 效率高, 缺点是如果一个线程崩溃, 都会造成进程的崩溃。

协程

子程序调用总是一个入口, 一次返回, 调用顺序是明确的, 而协程的调用和子程序不同, 协程看上去也是子程序, 但执行过程中在子程序内部可中断, 然后转而执行别的子程序, 在适当的时候再返回来, 接着执行

标签:调用,协程,线程,进程,崩溃,子程序
From: https://www.cnblogs.com/rise0111/p/17621458.html

相关文章

  • 分享之python 协程
    线程和进程的操作是由程序触发系统接口,最后的执行者是系统;协程的操作则是程序员。协程存在的意义:对于多线程应用,CPU通过切片的方式来切换线程间的执行,线程切换时需要耗时(保存状态,下次继续)。协程,则只使用一个线程,在一个线程中规定某个代码块执行顺序。协程的适用场景:当程序中存在大......
  • java多线程:死锁
    一、死锁的定义   多线程以及多进程改善了系统资源的利用率并提高了系统的处理能力。然而,并发执行也带来了新的问题——死锁。所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。   所谓死锁是指两个或两个以上的线程在......
  • Java和线程的一些讨论
    Java语言及Java的多线程机制,其中:第一部分是对Java简介,包括Java产生的背景和经过、Java的特点和应用方向、Java发展趋势.第二部分介绍面向对象的Java编程方法、及与C++语言作了一些比较.包括如何编写JavaApolet、在Applet中如何实现各种常用对象、以及使用Java实现高级编程(......
  • Linux线程同步(try锁和读写锁)
    (文章目录)前言本篇文章继续讲解Linux线程同步,上篇文章讲解了互斥锁,本篇文章为大家讲解try锁和读写锁。一、try锁在Linux的多线程编程中,try锁是一种非阻塞的锁机制,也称为尝试锁。它允许线程尝试获取锁,如果锁当前是可用的,线程将获取到锁并继续执行,如果锁当前被其他线程持有,则线......
  • 【Linux】进程优先级 | 进程的切换 | 环境变量详解
      ......
  • 如何利用PowerShell来监控一个进程中的线程数
    如何利用PowerShell来监控一个进程实际产生了多少个线程$processName="chrome.exe"$process=Get-WmiObject-Query"SELECT*FROMWin32_ProcessWHEREName='$processName'"$threadCount=$process.ThreadCountWrite-Host"Thenumberofthreadsin......
  • Linux线程同步(条件变量)
    (文章目录)前言本篇文章来讲解一下条件变量的使用。一、条件变量概念条件变量(ConditionVariable)是并发编程中一种线程同步机制,用于实现线程之间的等待和通知机制。它是一种与特定条件相关的线程同步原语。条件变量用于线程间的协调,允许一个线程在满足某个特定条件之前等待,并......
  • 多线程(三)
    1、线程安全的懒汉式1.1、线程安全的懒汉式,代码如下://一个单一设计模式的类如下:publicclassBank{privatedoubleaccount;privateStringname;privatestaticBankinstance=null;//私有化构造器privateBank(){}privateBank(dou......
  • python多线程学习记录
    Python多线程参考文章:python多线程详解(超详细)、Python线程池(threadpool)创建及使用+实例代码、第二十章多线程1、多线程的概念2、python多线程的基本使用方法3、多线程的优点及与多进程的关系1、多线程的概念线程也叫轻量级进程,是操作系统能够进行运算调度......
  • 异步编程和多线程的关系
    引用自“https://zhuanlan.zhihu.com/p/570792890中bluecyan的留言”异步编程,它允许我们多个任务(Task)可以同时执行。多线程技术就是CPU利用多个线程来并发地运行多段逻辑。任务是逻辑层面的,线程是操作系统层面的,由线程ID标识,任务比线程抽象层级更高。异步任务可由线程实现,也可......