我正在研究使用multiprocessing.Pool来创建worker,尝试初始化worker的一些状态。该池可以采用可调用的方式进行初始化,但它没有传递对已初始化worker的引用。我看到的少数示例都使用全局变量,这似乎非常不好。
有没有好的方法可以使用multiprocessing.Pool来初始化worker状态?
编辑:一个例子:
我有一些worker,每个worker都会进行一些相对昂贵的初始化(绑定到socket),我不想每次都要做这些初始化。我可以手动初始化我的sockets,然后在分配工作时将它们传递给worker,但是在进程之间共享文件描述符很复杂,甚至不可能。所以每次我想处理请求时都必须进行初始化和绑定。
有没有好的方法可以使用multiprocessing.Pool来初始化worker状态?
编辑:一个例子:
我有一些worker,每个worker都会进行一些相对昂贵的初始化(绑定到socket),我不想每次都要做这些初始化。我可以手动初始化我的sockets,然后在分配工作时将它们传递给worker,但是在进程之间共享文件描述符很复杂,甚至不可能。所以每次我想处理请求时都必须进行初始化和绑定。