通过类继承,实现一个线程类
时间: 2024-05-07 16:22:01 浏览: 8
可以通过继承Thread类来实现一个线程类,具体代码如下:
```python
import threading
class MyThread(threading.Thread):
def __init__(self, thread_id, name, counter):
threading.Thread.__init__(self)
self.thread_id = thread_id
self.name = name
self.counter = counter
def run(self):
print("Starting " + self.name)
print_time(self.name, self.counter, 5)
print("Exiting " + self.name)
def print_time(thread_name, delay, counter):
while counter:
time.sleep(delay)
print("%s: %s" % (thread_name, time.ctime(time.time())))
counter -= 1
if __name__ == "__main__":
thread1 = MyThread(1, "Thread-1", 1)
thread2 = MyThread(2, "Thread-2", 2)
thread1.start()
thread2.start()
thread1.join()
thread2.join()
print("Exiting Main Thread")
```
在这个例子中,我们定义了一个MyThread类,继承了Thread类,并在其中重写了run()方法。在MyThread的构造函数中,我们定义了线程的id、名字和计数器。然后在run()方法中,我们调用了print_time()函数,该函数用来打印当前时间。最后,在主程序中,我们创建了两个线程对象,分别启动这两个线程,并等待它们执行完毕后再退出主程序。