并发和并行
首先,并发需要存在多个任务,其次,这些任务在重叠的时间段内以无序的方式启动,运行和 完成。
并行是指多个任务或唯一任务的多个部分在逻辑上同时运行的情况。
并发
当我们谈论至少两个或更多任务时,并发这个定义是适用的。当一个应用程序实际上可以同时 执行两个任务时,我们将其称为并发应用程序。尽管这里的任务看起来像是同时运行的,但实 际上它们可能不一样。它们利用操作系统的CPU时间分片功能,其中每个任务运行其任务的一 部分,然后进入等待状态。当第一个任务处于等待状态时,会将CPU分配给第二个任务以完成 其一部分任务。
操作系统根据任务的优先级分配CPU和其他计算资源,例如内存;依次处理所有任务,并给他 们完成任务的机会。对于最终结果来看,用户感觉所有任务都是同时运行的,这称为并发。

Parallelism : 1.Multiprocessores, Multicore
2.Physically simultaneous processing
并行
1、 并行不需要两个任务存在。通过为每个任务或子任务分配一个内核,它实际上使用多核 CPU基础结构同时运行部分任务或多个任务。
2、 并行性本质上要求具有多个处理单元的硬件。在单核CPU中,您可能会获得并发性,但不 能获得并行性。
3、 并发是由独立执行的进程组成,而并行性是同时执行(相关的)计算。
4、 并发就是一次处理很多事情。并行是关于一次做很多事情。

2.logically simultaneous processing

应用程序如何体现并发和并行
1、 一个应用程序可以是并发的,但不能是并行的,这意味着它可以同时处理多个任务,但是 没有两个任务可以同时执行。
2、 一个应用程序可以是并行的,但不能是并发的,这意味着它可以同时处理多核CPU中一个 任务的多个子任务。
3、 一个应用程序既不能是并行的,也不能是并发的,这意味着它一次顺序地处理所有任务。
4、 一个应用程序可以是并行的,也可以是并发的,这意味着它可以同时在多核CPU中同时处 理多个任务。
5、 这就是并发与并行的关系,这是Java多线程概念中非常重要的概念。

Was this helpful?

0 / 0

发表回复 0

Your email address will not be published.