当前位置:   article > 正文

Java里的并发和并行区别_并发和并行的区别

java 并行和并发的区别

前言

并发和并行

并发是指多个任务,这些任务在重叠的时间段内以无特定顺序启动,运行和完成。并行是指多个任务或唯一任务的多个部分在逻辑上同时运行的情况,例如在多核处理器上。请记住,并发和并行性不是一回事。让我们更详细地了解当我说“并发与并行”的意思。

并发

当我们谈论至少两个或更多任务时,并发这个定义是适用的。当一个应用程序实际上可以同时执行两个任务时,我们将其称为并发应用程序。尽管这里的任务看起来像是同时运行的,但实际上它们可能不一样。它们利用操作系统的CPU时间分片功能,其中每个任务运行其任务的一部分,然后进入等待状态。当第一个任务处于等待状态时,会将CPU分配给第二个任务以完成其一部分任务。

操作系统根据任务的优先级分配CPU和其他计算资源,例如内存;依次处理所有任务,并给他们完成任务的机会。对于最终结果来看,用户感觉所有任务都是同时运行的,这称为并发。

并行

并行不需要两个任务存在。通过为每个任务或子任务分配一个内核,它实际上使用多核CPU基础结构同时运行部分任务或多个任务。

并行性本质上要求具有多个处理单元的硬件。在单核CPU中,您可能会获得并发性,但不能获得并行性。

并发与并行之间的区别现在,让我们列出并发与并行之间的显着区别。并发是两个任务可以在重叠的时间段内启动,运行和完成的时间。并行是指任务实际上在同一时间运行,例如。在多核处理器上。

并发是由独立执行的进程组成,而并行性是同时执行(相关的)计算。

并发就是一次处理很多事情。并行是关于一次做很多事情。

一个应用程序可以是并发的,但不能是并行的,这意味着它可以同时处理多个任务,但是没有两个任务

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/793881
推荐阅读
相关标签
  

闽ICP备14008679号