2 u013771353 u013771353 于 2015.07.16 21:15 提问

Python多线程问题,target以及kwargs传参出错,请问应该怎么写
 def A(a,b,c):
                代码块省略
def  B(a,b,c,d):            
                代码块省略
def thread(self,arg*):              
      t1 = threading.Thread(target=A,args=(a,b,c))

问题一:这里我想参数target=需要多开线程的方法名,然后我随便定义一个变量作为方法名参数传到target里面,,不行,,程序报错。求正确的传参方法,难不成我要为每一个要多开的方法都要多写一个多线程方法,,仅仅改个方法名参数?这太麻烦了
问题二:args这个参数我想改成kwargs字典形式的参数应该怎么改。t1 = threading.Thread(target=A,kwargs={a=1,b=2,c=3})
这样报错,,然后改成t1 = threading.Thread(target=A,kwargs={‘a=1,b=2,c=3’})再改成一对参数和值加一组单引号还是报错,,求正确格式。。

2个回答

oyljerry
oyljerry   Ds   Rxr 2015.07.16 21:47

多线程不是已经封装好了,那的参数就是你的线程函数跟参数元组。你需要开线成的时候就调用threading就好了。没必要自己再封装。

oyljerry
oyljerry 回复无限超频: 嗯,就是两行。
2 年多之前 回复
u013771353
u013771353 threading.Thread(target=A。。。 那这样写一行,threading.Thread(target=B。。。这样再写一行咯?还有元组那里格式不会,,参数怎么填都报错,,
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2015.07.17 03:30
Csdn user default icon
上传中...
上传图片
插入图片