我有一个我在子进程中附加的全局列表。同时,调用子进程的函数正在迭代列表。退出子进程时,即使我附加了
,全局列表也是空的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)
...
答案 0 :(得分:1)
除非您明确使用共享数据结构,否则不会在进程之间共享变量。
请参阅multiprocessing documentation - Sharing state between processes。