Python 实现线程在任务执行完后立即销毁,同时创建一个新线程供下一个任务执行使用
时间: 2023-12-10 07:37:46 浏览: 200
可以使用 Python 的 threading 模块来实现这个功能。具体步骤如下:
1. 定义一个线程类,重写 run 方法,在其中编写线程执行的代码。
2. 创建一个线程池,将需要执行的任务添加到线程池中,每个任务对应一个线程。
3. 启动线程池,等待线程池中的任务执行完毕。
4. 任务执行完毕后,销毁线程池,并重新创建一个新的线程池供下一个任务执行使用。
下面是一个示例代码:
```python
import threading
import time
class MyThread(threading.Thread):
def __init__(self, task):
threading.Thread.__init__(self)
self.task = task
def run(self):
print("Task %d is running..." % self.task)
time.sleep(1)
print("Task %d is done." % self.task)
def main():
thread_pool = []
for i in range(5):
t = MyThread(i)
thread_pool.append(t)
for t in thread_pool:
t.start()
for t in thread_pool:
t.join()
del thread_pool[:]
print("Thread pool is destroyed.")
if __name__ == "__main__":
main()
```
在这个示例代码中,我们先定义了一个 MyThread 线程类,其中重写了 run 方法,在其中编写线程执行的代码。然后在主函数中,创建了一个包含 5 个线程的线程池,并将每个任务对应一个线程。接着启动线程池并等待线程池中的任务执行完毕。任务执行完毕后,销毁线程池,并重新创建一个新的线程池供下一个任务执行使用。
阅读全文