【发布时间】:2020-05-11 10:03:03
【问题描述】:
- 并发、并行、串行。
- 同步、异步。
- 线程同步。
这些术语之间有什么关系吗?
希望有人能回答我,谢谢!
【问题讨论】:
标签: java asynchronous concurrency
这些术语之间有什么关系吗?
希望有人能回答我,谢谢!
【问题讨论】:
标签: java asynchronous concurrency
1和2之间有联系。
1 和 3 之间存在微弱的联系。
2 和 3 之间的联系更加微妙。
synchronized 方法或块。)但我认为这可能无法帮助您理解相应的术语。我认为你最好阅读更广泛的……更深入的……关于各自的概念。它们之间的联系不是很具有启发性。
【讨论】:
通常并行任务需要交互:一个接一个地启动,或者将计算值从一个任务传递给另一个任务。
交互可以有两种:同步和异步。同步交互假设一个或两个交互线程被挂起,直到满足预期的条件,如Future.get() 或BlockingQueue.take()。
异步交互通常被实现为一个(回调)方法调用,它表示满足条件。信号的接受者决定做什么:开始新任务,恢复线程,或者只记住信号。例如CompletableFuture.whenComplete(BiConsumer)。
同步和异步交互都是通过线程同步实现的。
【讨论】: