同步和竞争条件仅适用于共享内存模型吗?

时间:2016-11-25 17:12:45

标签: concurrency distributed-computing

同步和竞争条件概念是否仅适用于共享内存模型?

在分布式内存模型中,当进程通过共享内存以外的方式进行通信时,同步和竞争条件是否仍然适用?

感谢。

1 个答案:

答案 0 :(得分:1)

竞争条件仍然发生在分布式系统中。

根据Wikipedia,“分布式记忆的优势在于它排除了种族条件,[...]”。我确实同意这个声明。这是我的理由:

如果您没有在流程之间进行通信,这在两个模型中都是一个微不足道的问题;只是不要互相触摸资源。

如果您没有异步网络,您的性能将受到很大影响,因此几乎所有cpu都在内部和外部使用异步网络。

如果你在进程之间以某种方式异步通信,无论是共享内存,消息传递还是你有什么,那么就会出现竞争条件发生的系统。

考虑向B发送“let x = 4” 同时,C向B发送“let x = 5”。

处理完这两条消息后x是否等于45

即使你永远不会在内存级别上竞争,即线程覆盖彼此的消息或者共享内存可能发生的类似可怕事情,应用程序仍然会受到影响来自较高抽象层的竞争条件