python pool.apply_async 多进程 函数传递tkinter文本框text参数 子进程无法运行求助

tkiner类代码
self.txinfo =Text(self.parent,height=15,width=70)
self.txinfo.place(x=2,y=200)

启动代码
load(self.FileData,self.RadioVar.get(),str(self.PassVar.get()),str(self.VarLoginurl.get()),int(self.VarPoolNum.get()),self.qErrorNum,self.qSussNum,self.qMessage,self.txinfo)

def load(FileData,RadioVar,PassVar,VarLoginurl,VarPoolNum,qErrorNum,qSussNum,qMessage,txinfo):
pool = multiprocessing.Pool(int(VarPoolNum)) # 建立poolNum个进程
for line in resFileData:
CSLogin = CashLogin(line,VarLoginurl,qErrorNum,qSussNum,qMessage,txinfo,share_lock)
pool.apply_async(CSLogin.run,args=()) # 函数名为main 参数为i = 每一行账号
pool.close() # 关闭进程池,不再接受新的进程
#pool.join() # 主进程阻塞等待子进程的退出 开启会导致界面卡死

实例化代码
class CashLogin(object):
def init(self,FData,loginurl,qErrorNum,qSussNum,qMessage,txinfo,share_lock):
self.qErrorNum=qErrorNum
self.qSussNum = qSussNum
self.qMessNum = qMessage
self.share_lock = share_lock
self.share_lock.acquire()
self.xxx = txinfo ///就这行代码 注释掉后子进程运行 不注释掉子进程不运行
#print(self.share_lock)
self.share_lock.release()
#print(“实例化?”)

def run(self): #子进程代码

    #self.xxx.insert(END, '验证码不正确\n')
    try:
        print("???")
    except Exception as e:
        print(e)

    self.getCodeImg()#获取验证码
    self.codeOcr(str(os.getpid()) + ".php")#识别验证码 参数为进程pid加上.php文件
    self.loginUser()#登录

你可能感兴趣的:(python,多进程)