Python 多线程实例
时间: 2023-10-18 22:16:32 浏览: 96
以下是一个使用 Python 多线程的简单实例:
```python
import threading
# 定义线程执行的任务
def print_numbers():
for i in range(1, 11):
print(i)
# 创建线程
t = threading.Thread(target=print_numbers)
# 启动线程
t.start()
# 等待线程结束
t.join()
print("线程执行完毕")
```
在上面的例子中,我们定义了一个名为 `print_numbers` 的函数,该函数打印从 1 到 10 的数字。然后,我们创建了一个名为 `t` 的线程,并将其目标设置为 `print_numbers` 函数。接着,我们启动了线程,并等待线程结束。最后,我们打印了一条消息,表示线程执行完毕。
需要注意的是,如果多个线程访问共享资源,可能会出现竞争条件和死锁等问题。因此,在编写多线程程序时,需要特别注意线程安全性和同步问题。
相关问题
python多线程实例_Python多线程实例
好的,我可以为您提供一个 Python 多线程的实例:
```python
import threading
def print_numbers():
for i in range(1, 11):
print(i)
def print_letters():
for letter in ['a', 'b', 'c', 'd', 'e']:
print(letter)
if __name__ == '__main__':
t1 = threading.Thread(target=print_numbers)
t2 = threading.Thread(target=print_letters)
t1.start()
t2.start()
t1.join()
t2.join()
print("Both threads have finished executing!")
```
在这个例子中,我们定义了两个函数 `print_numbers` 和 `print_letters` 分别打印数字和字母。我们使用 `threading.Thread` 类创建两个线程 `t1` 和 `t2`,并将这两个函数分别作为它们的目标函数。然后我们使用 `start()` 方法来启动这两个线程,然后使用 `join()` 方法来等待它们完成。最后,我们打印一条消息表明两个线程都已经执行完毕。
注意,Python 的全局解释器锁 (GIL) 限制了多线程并行执行的能力,因此在某些情况下,多线程可能无法提高程序的性能。
python 多线程实例
下面是一个使用Python多线程的简单实例:
```python
import threading
import time
def task(num):
print(f"线程 {num} 开始")
time.sleep(1)
print(f"线程 {num} 结束")
# 创建多个线程
threads = []
for i in range(5):
t = threading.Thread(target=task, args=(i,))
threads.append(t)
# 启动所有线程
for thread in threads:
thread.start()
# 等待所有线程执行完毕
for thread in threads:
thread.join()
print("所有线程执行完毕")
```
以上代码创建了5个线程,每个线程执行task函数,打印线程开始和结束的信息。每个线程执行任务前暂停1秒,以模拟一些耗时操作。主线程通过调用join方法等待所有线程执行完毕,最后输出"所有线程执行完毕"。
注意:多线程并不一定会加快程序的执行速度,因为Python的全局解释锁(GIL)限制了同一时刻只能有一个线程执行Python字节码。如果需要并行执行耗时任务,可以考虑使用多进程或其他并发方式。
阅读全文