class MyThread(threading.Thread): def __init__(self, kwargs=None): super().__init__() # 要先调用父类的init方法否则会报错 # self.a= a # self.b = b # self.c = c self._kwargs=kwargs # 重写 父类run方法 def run(self): for i in range(5): print("正在执行子线程的run方法...", i) time.sleep(0.5) if __name__ == '__main__': mythread = MyThread(kwargs={"c":20,"b":30,}) mythread.start()
时间: 2023-02-22 21:51:28 浏览: 94
这是一个Python程序,定义了一个名为MyThread的类,该类继承自threading.Thread类。__init__方法是该类的构造函数,它调用了父类的构造函数,同时接收一个名为kwargs的可选参数。
相关问题
class myThread (threading.Thread): def __init__(self): threading.Thread.__init__(self)
这段代码定义了一个名为myThread的类,它继承自threading.Thread类。这个类中定义了一个构造函数__init__,在这个函数中调用了父类的构造函数来初始化线程。
具体来说,__init__函数中的代码是:
```python
def __init__(self):
threading.Thread.__init__(self)
```
这个代码调用了父类(threading.Thread)的构造函数,并将self作为参数传入。这样就可以初始化一个线程对象了。
在这个类中,还可以定义其他的方法,这些方法将在子线程中执行。在本例中,run方法是线程的主体,它会在子线程中被执行。因此,在定义myThread类时,需要重写run方法。
import threading import sys global tickt_count = 0 class MyThread(threading.Thread): def __init__(self,name): threading.Thread.__init__(self,name=name) self.name = name self.tickts = 0 def run(self): while True: if (tickt_count>0): tickt_count -= 1 self.tickts += 1 print("%s售票机售出第%d号"%(self.name,tickt_count)) else: sys.exit(0) t1 = MyThread('Window1') t1.start() t2 = MyThread('Window2') t2.start() t3 = MyThread('Windou3') t3.start()这段代码为何出错
这段代码出错的原因是变量 `tickt_count` 没有被正确定义。应该将 `global tickt_count = 0` 改为 `tickt_count = 100`,并且应该在定义 `MyThread` 类之前。正确的代码应该如下所示:
```python
import threading
import sys
tickt_count = 100
class MyThread(threading.Thread):
def __init__(self,name):
threading.Thread.__init__(self,name=name)
self.name = name
self.tickts = 0
def run(self):
while True:
if (tickt_count>0):
tickt_count -= 1
self.tickts += 1
print("%s售票机售出第%d号"%(self.name,tickt_count))
else:
sys.exit(0)
t1 = MyThread('Window1')
t1.start()
t2 = MyThread('Window2')
t2.start()
t3 = MyThread('Windou3')
t3.start()
```
这样就能正确地运行了。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)