【问题标题】:python losing global list contents from child processpython从子进程中丢失全局列表内容
【发布时间】:2014-02-19 05:03:04
【问题描述】:

我有一个全局列表,我将其附加到子进程中。同时调用子进程的函数正在遍历列表。当子进程退出时,全局列表为空,即使我追加了它

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)
    ...

【问题讨论】:

    标签: python list scope global


    【解决方案1】:

    除非您明确使用共享数据结构,否则变量不会在进程之间共享。

    multiprocessing documentation - Sharing state between processes

    【讨论】:

      猜你喜欢
      • 2014-06-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-30
      • 1970-01-01
      相关资源
      最近更新 更多