多线程并发
Python的多线程并发是基于threading模块实现的,其核心原理是利用线程切换技术来实现CPU级别的并发执行。这种并发执行并不等同于多CPU的并行操作,而是在单个CPU上通过快速切换线程来模拟同时处理多个任务的效果。
示范
import threading
def print_numbers():
for i in range(10):
print(i)
def print_letters():
for letter in 'asdfghjkl':
print(letter)
# 创建两个线程
t1 = threading.Thread(target=print_numbers)
t2 = threading.Thread(target=print_letters)
# 启动线程
t1.start()
t2.start()
# 等待线程执行完毕
t1.join()
t2.join()
join() 解释
join() 在多线程编程中,是一个用来等待线程终止的方法。
join()方法是用来阻塞主线程,直到目标线程执行完毕。当调用一个线程对象的join()方法时,主线程会被挂起,直到该线程对象完成其执行。这是为了确保主线程能在所有子线程完成后再继续执行,特别是在需要汇总或处理由多个线程产生的结果时尤为重要。
import threading
import time
def worker():
print("Worker started")
time.sleep(2) # 模拟