小编Fil*_*ter的帖子

锁对象只能通过继承在进程之间共享

我正在multiprocessing.Pool对象中使用该类并尝试执行以下操作:

from multiprocessing import Lock, Pool

class A:
    def __init__(self):
        self.lock = Lock()
        self.file = open('test.txt')
    def function(self, i):
        self.lock.acquire()
        line = self.file.readline()
        self.lock.release()
        return line
    def anotherfunction(self):
        pool = Pool()
        results = pool.map(self.function, range(10000))
        pool.close()
        pool.join()
        return results
Run Code Online (Sandbox Code Playgroud)

但是,我收到一个运行时错误,指出锁对象只能通过继承在进程之间共享。我对 Python 和多处理相当陌生。我怎样才能走上正确的轨道?

python pool multiprocessing

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

multiprocessing ×1

pool ×1

python ×1