博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
异步与并行~大话目录
阅读量:5923 次
发布时间:2019-06-19

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

写过很多篇异步,线程,并行的文章了,我觉得有必要总结一下了,然后把目录整理一下,分享给大家,这么大家看的时候方便些!

非阻塞

异步操作无须额外的线程负担,并且使用回调的方式进行处理,在设计良好的情况下,处理函数可以不必使用共享变量(即使无法完全不用,最起码可以减少 共享变量的数量),减少了死锁的可能。当然异步操作也并非完美无暇。编写异步操作的复杂程度较高,程序主要使用回调方式进行处理,与普通人的思维方式有些 出入,而且难以调试。当需要执行I/O操作时,使用异步操作比使用线程+同步 I/O操作更合适。异步和多线程两者都可以达到避免调用线程阻塞的目的,从而提高软件的可响应性。

异步本质为方法的回调

异步操作无须额外的线程负担,并且使用回调的方式进行处理,在设计良好的情况下,处理函数可以不必使用共享变量(即使无法完全不用,最起码可以减少 共享变量的数量),减少了死锁的可能。当然异步操作也并非完美无暇。编写异步操作的复杂程度较高,程序主要使用回调方式进行处理,与普通人的思维方式有些 出入,而且难以调试。当需要执行I/O操作时,使用异步操作比使用线程+同步 I/O操作更合适。

线程争夺与死锁

多线程中的处理程序依然是顺序执行,符合普通人的思维习惯,所以编程简单。但是多线程的缺点也同样明显,线程的使用(滥用)会给系统带来上下文切换的额外 负担。并且线程间的共享变量可能造成死锁的出现。多线程的适用范围则是那种需要长时间CPU运算的场合,例如耗时较长的图形处理和算法执行。

异步与并行-目录

 

永久更新中...

转载地址:http://tgxvx.baihongyu.com/

你可能感兴趣的文章
Oracle表空间(tablespaces)
查看>>
Python 3.* print 出现SyntaxError: invalid syntax
查看>>
【Bootstrap-插件使用】Jcrop+fileinput组合实现头像上传功能
查看>>
Determining Current Block and Current Item in Oracle Forms
查看>>
Linux学习笔记<五>——<Shell部分>
查看>>
架构师应不应该写代码?
查看>>
C#中string.format用法详解
查看>>
pip依赖安装与记录
查看>>
CSS 最核心的几个概念
查看>>
oauth 2
查看>>
用虚拟 router 连通 subnet - 每天5分钟玩转 OpenStack(141)
查看>>
企业应用开发中最常用c++库
查看>>
mongodb学习笔记之索引(转)
查看>>
外观模式(Facade)
查看>>
python第三方库requests详解
查看>>
ARC下带CF前缀的类型与OC类型转换
查看>>
CSS控制文本超出指定宽度显示省略号和文本不换行效果的实现
查看>>
【转】Zookeeper 安装和配置
查看>>
《剑指offer》-连续子数组的最大和
查看>>
Docker入门系列8
查看>>