Python 多线程,让线程函数单独运行,并且线程函数可以传参,主程序可以继续向下执行,并且可以让线程停止
时间: 2023-08-02 12:08:11 浏览: 85
可以使用 Python 的 threading 库来实现多线程。下面是一个简单的示例,展示了如何让线程函数单独运行,并且可以传参,主程序可以继续向下执行,并且可以让线程停止。
```python
import threading
import time
class MyThread(threading.Thread):
def __init__(self, name, delay):
super().__init__()
self.name = name
self.delay = delay
self.stopped = False
def run(self):
print(f"{self.name} started")
while not self.stopped:
print(f"{self.name}: {time.time()}")
time.sleep(self.delay)
print(f"{self.name} stopped")
def stop(self):
self.stopped = True
# 创建一个线程
t = MyThread("Thread 1", 1)
# 启动线程
t.start()
# 主程序可以继续向下执行
for i in range(5):
print(f"Main program: {i}")
time.sleep(1)
# 让线程停止
t.stop()
```
在这个示例中,我们定义了一个名为 `MyThread` 的线程类,它继承自 `threading.Thread` 类。我们在 `__init__` 方法中传入线程的名称和延迟时间,并在 `run` 方法中定义线程的行为。我们使用了一个 `while` 循环来不断打印当前时间,并使用 `time.sleep` 方法来使线程暂停一段时间。
我们还定义了一个 `stop` 方法,它将设置 `stopped` 属性为 `True`,以便在主程序中调用。最后,我们创建一个名为 `t` 的线程对象,并启动它。然后,主程序可以继续向下执行,每秒钟打印一次计数器。最后,我们调用 `t.stop()` 方法来停止线程。
阅读全文