我已经编写了一个python程序,该程序使用多处理功能来向字典中填充数据,并且在为获取和设置数据而创建的同一类中,我还具有其他函数(API)。我正在使用多处理管理器字典来处理在线程之间传递字典,但是无法跨对象发送对象。
为了“设置”数据,我需要生成一个字符串并将其通过套接字发送。套接字是在线程中创建的,但是我想在set函数中使用相同的套接字,但是由于某种原因,我收到一个错误,无法将套接字对象存储在Manager词典中,因此我可以共享它们。>
我在 init 中使用了self.socket,但是由于线程永远不会结束,因此self.socket不能在任何地方使用,因为线程从未返回过。有人知道我可以在类中的函数之间传递对象的方法吗?
这是一个简单的表示形式:
class abc:
def __init__(self):
self.socket = ""
manager = Manager()
self.d = manager.dict()
def popData(self, d):
self.socket = socket creation (multiple steps)
d[1] = self.socket #this is where the error occurs
populateData.....
d[0] = populate data #I can pass this around
def setData(self,d,data):
d[1].send(str(data)) #this is what I want to send but d[1] is not a socket object