我正在尝试分析一个包含不同任务的大型python文件。我已经阅读并预处理了文件,它现在已经在内存中了。问题是,我拥有的任务,他们几乎必须通过整个记录列表。它类似于:
resourceList = [..] #list of records from the file (say, 2GB)
def taskA():
for i in resourceList:
#doSthA()
def taskB():
for i in resourceList:
#doSthB()
如果我执行taskA()然后taskB()它会通过2GB文件两次,它真的很慢。这是taskA和taskB可以同时完成工作的方式,这样我就不必两次完成任务了吗?
我读到了涉及python线程和Queue的东西,这是唯一(和正确)的方法吗?如果是这样,如果“resourceList”是生成器而不是列表怎么办?
谢谢!