在 Python 中实现多线程可以使用 threading 模块。下面是一个简单的示例代码:
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)
# 创建线程
thread1 = threading.Thread(target=print_numbers)
thread2 = threading.Thread(target=print_letters)
# 启动线程
thread1.start()
thread2.start()
# 等待线程结束
thread1.join()
thread2.join()
print("Main thread exiting.")
thread1.join()
的作用是等待thread1线程执行完毕后再继续执行主线程。当调用join方法时,当前线程将被阻塞,直到thread1线程执行完毕或达到指定的超时时间。如果不使用join方法,主线程会立即继续执行,而不管thread1线程是否已经执行完毕。这通常用于在主线程中等待其他线程完成任务后再进行下一步操作。
在上面的示例中,我们定义了两个函数 print_numbers()
和 print_letters()
,分别用于打印数字和字母。然后,我们创建了两个线程 thread1
和 thread2
,分别指定要执行的函数。接下来,我们通过调用 start()
方法启动线程,并使用 join()
方法等待线程执行完成。最后,在主线程中打印一条消息,表示主线程退出。
请注意,在多线程编程中,需要注意线程之间的同步问题,以避免出现竞争条件(Race Condition)等问题。可以使用锁(Lock)、条件变量(Condition)等机制来实现线程同步。