Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions docs/book/24-Concurrent-Programming.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,6 @@ slowdown occurs):

上面的定义告诉了我们术语令人困惑的原因:两者的核心是“同时完成多个任务”。并行增加了跨多个处理器的分布。更重要的是,这两种方法可以解决不同类型的问题:解决I / O绑定问题和并行化可能对您没有任何好处,因为该问题不是整体速度,而是阻塞。采取计算约束问题并尝试在单个处理器上使用并发性解决问题可能会浪费时间。两种方法都试图在更短的时间内完成更多工作,但是它们实现加速的方式却有所不同,并且取决于问题所施加的约束。


术语混淆的原因在上面的定义中显示:其中核心是“在同一时间完成多个任务。”并行性通过多个处理器增加分布。更重要的是,两者解决了不同类型的问题:解决I/O密集型问题,并行化可能对你没有任何好处,因为问题不是整体速度,而是阻塞。并且考虑到计算力限制问题并试图在单个处理器上使用并发来解决它可能会浪费时间。两种方法都试图在更短的时间内完成更多,但它们实现加速的方式是不同的,并且取决于问题所带来的约束。

这两个概念混合在一起的一个主要原因是包括Java在内的许多编程语言使用相同的机制**线程**来实现并发和并行。

我们甚至可以尝试添加细致的粒度去定义(但是,这不是标准化的术语):
Expand Down Expand Up @@ -3159,4 +3156,4 @@ Pizza4: complete

<!-- 分页 -->

<div style="page-break-after: always;"></div>
<div style="page-break-after: always;"></div>