我有一个包含字典(称为请求)的列表(称为 requestRoster)。'requests' 字典中的项目是诸如 'requestTime' 和 'thisURL' 之类的东西。例如:
[
{'thisURL': 'http://localhost/bikes', 'requestTime': datetime.datetime(2012, 10, 18, 0, 41, 34)},
{'thisURL': 'http://localhost/clothing', 'requestTime': datetime.datetime(2012, 10, 18, 0, 41, 35)}
]
我正在使用 multiprocessing.Process 来生成一个新进程来发出每个请求。
我希望每个进程都更新 requestRoster,为每个请求添加一个“响应”项。
我怎样才能做到这一点?
我尝试使用 multiprocessing.Manager() 来制作 manager.list() 和 manager.Namespace()。也不让我做我想做的事,我认为是因为这个: http ://docs.python.org/library/multiprocessing.html#multiprocessing.managers.SyncManager.list
我想我可以使用 multiprocessing.Lock() 来
- 获取互斥锁
- 在流程中复制 requestRoster
- 修改本地化的 requestRoster
- 用本地化的请求名册覆盖“全球化”请求名册
- 释放互斥锁
...但它似乎有点复杂,我想知道我是否遗漏了一些更简单的东西。异步回调会很棒。