>我有一个全局列表,我在子进程中追加到该列表。同时,调用子进程的函数正在循环访问列表。退出子进程时,全局列表为空,即使我附加到它
urlsToCheck = list()
def crawler():
while limit != 0 and urlsToCheck.__len__() > 0:
curUrl = urlsToCheck.pop(0)
processLink(curUrl)
limit -= 1
def processLink(url):
...
for i in validLinks:
urlsToCheck.append(i)
...
除非显式
使用共享数据结构,否则变量不会在进程之间共享。
请参阅多进程文档 - 在进程之间共享状态。