python这个代码没输出,没报错,怎么改?

要么创建一个threading.Thread类的对象,将你要线程执行的函数指定为target参数。你这里定义了类ThreadClass,但没继承threading.Thread类,又指定了target,但指定的是一个类不是一个函数,所以没输出。非要这样搞,可以改成这样:import threading class ThreadClass:def __init__(self,num):self.num =...
python这个代码没输出,没报错,怎么改?
要使用线程:
要么定义一个类继承threading.Thread,重写run方法;
要么创建一个threading.Thread类的对象,将你要线程执行的函数指定为target参数。

你这里定义了类ThreadClass,但没继承threading.Thread类,又指定了target,但指定的是一个类不是一个函数,所以没输出。

非要这样搞,可以改成这样:
import threading
class ThreadClass:
def __init__(self,num):self.num = num
def run(self):
print("this is def ",self.num)
n=['a','b','c','d','e']
lis=[]
for i in n:
th = threading.Thread(target=ThreadClass.run,args=(ThreadClass(i),))
lis.append(th)
for t in lis:
t.start()
for t in lis:
t.join()
缩进格式见图:

运行结果如下:

2022-03-06
mengvlog 阅读 72 次 更新于 2025-12-19 23:57:44 我来答关注问题0
檬味博客在线解答立即免费咨询

Python相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部