博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
并发、并行、同步、异步、多线程的区别?
阅读量:6906 次
发布时间:2019-06-27

本文共 522 字,大约阅读时间需要 1 分钟。

并发:同一时间段有几个程序都处于已经启动到运行完毕之间,并且这几个程序都在同一个处理机上运行,并发的两种关系是同步和互斥;

互斥:进程之间访问临界资源时相互排斥的现象;

同步:进程之间存在依赖关系,一个进程结束的输出作为另一个进程的输入。具有同步关系的一组并发进程之间发送的信息称为消息或者事件;

并行:单处理器中进程被交替执行,表现出一种并发的外部特征;在多处理器中,进程可以交替执行,还能重叠执行,实现并行处理,并行就是同事发生的多个并发事件,具有并发的含义,但并发不一定是并行,也就是说事件之间不一定要同一时刻发生;

多线程:多线程是进程中并发运行的一段代码,能够实现线程之间的切换执行;

异步:和同步相对,同步是顺序执行,而异步是彼此独立,在等待某个事件的过程中继续做自己的事,不要等待这一事件完成后再工作。线程是实现异步的一个方式,异步是让调用方法的主线程不需要同步等待另一个线程的完成,从而让主线程干其他事情。

异步和多线程:不是同等关系,异步是目的,多线程只是实现异步的一个手段,实现异步可以采用多线程技术或者交给其他进程来处理。

转载于:https://www.cnblogs.com/botoo/p/10399404.html

你可能感兴趣的文章
SSIS中Sql Task 获取系统变量
查看>>
linux dd命令实用详解
查看>>
android系统权限SET_PREFERRED_APPLICATIONS怎么获取
查看>>
Oracle 统计量NO_INVALIDATE参数配置(上)
查看>>
在ECSHOP后台的订单列表中显示配送方式
查看>>
Android Drawable
查看>>
微软职位内部推荐-Senior SDE
查看>>
Java Bigdecimal使用
查看>>
RabbitMQ三种Exchange模式(fanout,direct,topic)的性能比较
查看>>
[UI]抽屉菜单DrawerLayout分析(三)
查看>>
linux shell基础
查看>>
Android中的Animation 动画开发
查看>>
KVM 基础使用(一)
查看>>
怎么将Emeditor设置成网页查看源代码的默认编译器
查看>>
higncharts 编辑Highcharts.com链接
查看>>
ThinkPHP 模板显示display和assign的用法
查看>>
AfxMessageBox和MessageBox差别
查看>>
OpenCms创建站点过程图解——献给OpenCms的刚開始学习的人们
查看>>
PyQt5在QWidget窗体中显示Qwidget的自定义类(补:完美解决)
查看>>
一个非常好用的中文语音播报接口
查看>>