two*_*.11 5 java parallel-processing concurrency multithreading asynchronous
几天,我想知道这四种类型的编程之间有什么区别.我在谷歌搜索信息但我无法回答我的问题,所以我决定问你,有人可以向我解释一下吗?谢谢 !
您提到的编程关键字是指为解决计算和处理领域的问题而出于特定原因而发明的技术.
每种技术旨在解决的简要本质:
并发:手头有很多任务,我需要在每个任务中取得坚定的进展,而不是完成一个并继续以串行方式进入下一个.让我在每一个流程的工作,以便在给定时间点,有非零进步在两个或两个以上的任务.(不一定同时)
并行性:考虑到我的设备资源,有可能在单位时间内完成更多的工作.让我使用一些技术来提高吞吐量,可能会牺牲延迟,以便我的任务更快完成.
多线程:我的设备硬件和软件都支持程序中的多个执行线程; 让我在这些处理器/核心/线程池中分离计算密集型计算 !
异步:要完成的一组任务.我现在正在表演其中一个.让我打电话给我的朋友帮我完成另一项任务,我希望他/她在我继续执行任务的同时回复我的结果.
注意,上面讨论的技术不一定是相互排斥的.具体来说,多线程是一种并行性,这反过来会导致并发度超过1(非平凡的多线程).
顺便说一句,我维护了一个关于并行计算的博客.在其中一篇文章中,我写过关于同一领域中使用的行话.
http://magical-parallel-computing.blogspot.in/2017/04/parallel-computing-jargon.html
我希望它在概念层面帮助你.
| 归档时间: |
|
| 查看次数: |
3092 次 |
| 最近记录: |