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