不明确的文档:在进程之间共享状态

时间:2016-01-31 20:04:25

标签: python python-3.x

Python文档中有一部分我不清楚:

https://docs.python.org/3.4/library/multiprocessing.html#sharing-state-between-processes

“如上所述,在进行并发编程时,通常最好尽量避免使用共享状态。”

但是我找不到上面17.2.1.5中描述为什么最好避免使用共享状态的描述。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

共享状态就像一个全局变量,但......更全球化。

您不仅需要考虑代码的哪些部分正在读取和修改状态,还要考虑代码的运行副本以及如何访问它。当状态为 mutable 时,这变得更加棘手,即可以改变。

为了确保一个线程不会踩到另一个线程正在做的事情,你必须coordinate access to the state。可以使用semaphoresmessage-passingsoftware transactional memory

来完成

另见https://softwareengineering.stackexchange.com/questions/148108/why-is-global-state-so-evil