Man*_*aux 4 python synchronization multiprocessing
我正在尝试在我的Python进程之间使用共享的字符串变量,但是由于获取了核心转储和无效的内存值,看来我做错了什么。
我multiprocessing.Value用来创建一个ctypes.c_char_p值,并使用value属性来访问它。在我对Python文档的理解中,值属性应该是同步的,只要它是的实例Value(与的实例相反RawValue)即可。到目前为止,对吗?
我创建了一个简短的示例来演示我的用法Value并在执行时显示不一致之处:
from multiprocessing import Process, Value
from ctypes import c_char_p
def process(v):
while True:
val = v.value
print val
while val == v.value:
pass
v = Value(c_char_p, None)
p = Process(target=process, args=(v,))
p.start()
for i in range(1,999):
v.value = str(i)
p.terminate()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3705 次 |
| 最近记录: |