我是python的新手,在尝试在两个脚本之间定义共享变量时,我被放养了,这样父脚本中共享变量的任何值更改都会立即"同步"到子脚本。
例如:
- 每两秒,
Parent.py
向共享变量 A 输入值 1 到 3,一次一个。 -
Child.py
一直在等待 A 的值变化并将它们打印出来。
所以我们应该得到这样的东西:
1
...(2 seconds past)
2
...(2 seconds past)
3
这只是一个例子。我的实际脚本更复杂,需要同时运行,所以我正在考虑使用multiprocessing.pipe
或multiprocessing.queue
但不确定选择哪一个以及如何将其添加到我的脚本中。如果有人可以帮助我,我将不胜感激:)
谢谢!
使用 multiprocessing.Manager().Queue()
.父级推送到队列,子项弹出。管理器似乎是一个不必要的中间步骤,因为有一个多处理。队列,但实现要简单得多,不易出现死锁和其他错误。
http://docs.python.org/library/multiprocessing.html#multiprocessing.managers.SyncManager.Queue