当前位置: 首页 > article >正文

并发和并行、同步和异步、进程和线程的关系

先介绍一下概念,如下:

  • 并发
    指多个任务可以在"同一时刻"被处理,这个同一时刻并不是真正的同时进行(时间分片,让每个任务在极短的时间间隔内轮流执行),而是间隔很短,可以看作同一时刻 。
  • 并行
    指多个任务可以在同一时刻被处理,真正的同一时刻

  • 协调多个进程或线程的执行顺序,确保它们能够正确、有序地访问共享资源,避免数据冲突或不一致。在某些情况下(例如共享资源),一个任务必须等待另一个任务完成后才能继续执行,在等待过程中是阻塞的。
  • 异步
    和同步不同的是,异步允许在等待任务完成的同时执行其他操作,不需要等待其他任务完成(非阻塞)。
  • 进程
    是操作系统分配资源的基本单位,代表一个正在执行的程序实例。每个进程都有自己的地址空间、内存、文件描述符和其他资源。 不同进程之间的资源是相互独立的,都有自己独立的虚拟空间。在多进程环境下,当 CPU 从一个进程切换到另一个进程时,操作系统会保存当前进程的上下文(包括寄存器、程序计数器和栈指针等),并加载新进程的上下文。由于涉及虚拟地址空间的切换,进程上下文切换的开销通常大于线程切换。
  • 线程
    线程是比进程更小的调度单位,每个进程至少有一个线程。多个线程之间共享同一个进程的资源,所以速度快,但是由于共享的问题,可能会不稳定。

关系:并发和并行是任务执行的模式,进程和线程是实现手段,同步和异步是协作方式。


http://www.kler.cn/a/596833.html

相关文章:

  • RK3568开发笔记-egtouch触摸屏ubuntu系统屏幕校准
  • postgresql 对 lz4 压缩算法的支持
  • 2维压缩感知SL0重构实现算法
  • DFS刷题
  • 树莓派5的供电与启动
  • 强大的AI网站推荐(第三集)—— AskO3
  • MyBatis-Plus 的加载及初始化
  • FastAPI WebSocket 无法获取真实 IP 错误记录
  • 蓝桥杯 劲舞团
  • Springboot之RequestAttributes学习笔记
  • 【深度学习入门_机器学习理论】梯度提升决策树(GBDT)
  • 【算法学习之路】13.BFS
  • 【go】如何处理可选配置
  • CSS 中@media查询的工作原理,如何利用它实现不同设备的样式适配
  • 大数据平台上的数据建模与分析:从数据到决策的跃迁
  • 旋转编码器
  • 基于随机森林回归预测葡萄酒质量
  • OpenCV中的矩阵操作
  • OSASIS(One-Shot Structure-Aware Stylized Image Synthesis)
  • 计算机网络性能优化相关内容详解