Python对同一资源的不同操作

时间:2015-04-30 20:16:24

标签: python multithreading file queue

我正在尝试分析一个包含不同任务的大型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”是生成器而不是列表怎么办?

谢谢!

0 个答案:

没有答案