java 并发和并行_并发和并行性有什么区别?

并发和并行性有什么区别?

示例被赞赏。

#1楼

并发性:具有共享资源潜力的多个执行流

例如:两个线程争用一个I / O端口。

平行主义:将问题分成多个相似的块。

例如:通过在文件的每半部分上运行两个进程来解析大文件。

#2楼

并发是指两个或多个任务可以在重叠的时间段内启动,运行和完成。 并不一定意味着它们都将同时运行。 例如,单核计算机上的多任务处理 。

并行是指任务实际上在多核处理器上同时运行。

并发:至少有两个线程在进行时存在的条件。 并行性的一种更通用的形式,可以包括时间切片作为虚拟并行性的一种形式。

并行性:当至少两个线程同时执行时出现的条件。

#3楼

他们解决了不同的问题。 并发解决了CPU资源不足和任务繁多的问题。 因此,您可以通过代码创建线程或独立的执行路径,以便在稀缺资源上共享时间。 直到最近,由于CPU的可用性,并发一直是讨论的主要内容。

并行解决了以下问题:找到足够多的任务和适当的任务(可以正确拆分的任务),然后将其分配给大量CPU资源。 并行性当然一直存在,但由于多核处理器非常便宜,因此它已经走在前列。

#4楼

我喜欢Rob Pike的演讲:并发不是并行(更好!) (幻灯片) (演讲)

Rob通常会谈论Go,并且通常会通过直观的解释来解决并发与并行性问题! 这是一个简短的摘要:

任务:让我们燃烧一堆过时的语言手册! 一次一个!

C37MJ.jpg

并发:任务有许多并发分解! 一个例子:

519775c1f7267b8a987103edc23a934e.png

并行性:如果至少有两个地鼠同时工作或不同时工作,则先前的配置会并行发生。

#5楼

补充别人的话:

并发就像让杂耍杂耍的人玩弄许多球。 不管看起来如何,魔术师一次只能抓/扔一个球。 并行性是多个杂耍者同时玩杂耍球。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值