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

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

先介绍一下概念,如下:

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

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

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

相关文章:

  • 【MySQL篇】索引特性
  • pcap流量包分析
  • Linux 内核源码阅读——ipv4
  • 合成层优化
  • 【Attention】SKAttention
  • 优先队列-小根堆留坑
  • 使用 Node.js 读取 Excel 文件并处理合并单元格
  • Spring:AOP
  • 网络HTTPS协议
  • SOFABoot-08-启动加速
  • 修改服务器windows远程桌面默认端口号
  • 苹果iPhone屏幕防护专利获批,未来iPhone或更耐用
  • Linux 通过压缩包安装 MySQL 并设置远程连接教程
  • Nginx及前端部署全流程:初始化配置到生产环境部署(附Nginx常用命令)
  • I/O 多路复用(I/O Multiplexing)
  • Java面试黄金宝典9
  • Linux | ubuntu安装 SSH 软件及测试工具
  • 挂谷猜想的证明错误百出
  • 嵌入式基础知识学习:SPI通信协议是什么?
  • 【趣谈】了解语音拼写检查算法的内部机制
  • 中演协:五一假期全国营业性演出票房收入同比增长3.6%
  • 中东睿评|胡塞武装已成为楔入中东各方力量之间的钉子户
  • 国铁:今天预计发送旅客2110万人次,加开列车1896列
  • 抢抓消费旺季:五一假期,多地党政主官调研外贸优品展销活动
  • 全国铁路旅客发送量连续3天同比增幅超10%,今日预计发送1800万人次
  • 上海环球马术冠军赛开赛,一场体育与假日消费联动的狂欢