python 多线程实例
时间: 2023-07-17 15:56:20 浏览: 53
下面是一个使用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字节码。如果需要并行执行耗时任务,可以考虑使用多进程或其他并发方式。
相关问题
python多线程实例
当我们需要在Python中同时执行多个任务时,可以使用多线程来实现并发执行。以下是一个简单的Python多线程实例:
```python
import threading
def print_numbers():
for i in range(1, 6):
print("Thread 1:", i)
def print_letters():
for letter in ['A', 'B', 'C', 'D', 'E']:
print("Thread 2:", letter)
# 创建两个线程
t1 = threading.Thread(target=print_numbers)
t2 = threading.Thread(target=print_letters)
# 启动线程
t1.start()
t2.start()
# 等待线程执行完毕
t1.join()
t2.join()
print("Done")
```
在这个例子中,我们创建了两个线程`t1`和`t2`,分别执行`print_numbers`和`print_letters`函数。通过调用`start`方法启动线程,然后使用`join`方法等待线程执行完毕。最后输出"Done"表示程序执行完毕。
需要注意的是,在多线程编程中,由于线程是并发执行的,因此需要注意共享资源的同步问题,以避免出现竞态条件等问题。
Python多线程例子
好的,以下是一个简单的 Python 多线程例子,使用 threading 模块:
```python
import threading
def print_numbers():
for i in range(1, 11):
print(i)
def print_letters():
for letter in 'abcdefghij':
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_numbers` 和 `print_letters`,分别用来打印数字和字母。然后我们创建了两个线程 `t1` 和 `t2`,分别执行这两个函数。最后我们调用 `start()` 方法启动这两个线程,并调用 `join()` 方法等待它们执行完毕。这样就可以实现多线程并发执行的效果了。