创建线程
在 Python 中,您可以使用 threading
模块来创建线程。以下是使用 threading
模块创建线程的基本示例:
import threading
# 定义一个函数,将在新线程中执行
def worker_function():
print("Worker thread is running.")
if __name__ == "__main__":
# 创建一个线程
worker_thread = threading.Thread(target=worker_function)
# 启动线程
worker_thread.start()
# 等待线程结束
worker_thread.join()
print("Main thread is done.")
在这个示例中,worker_function
函数将在一个新的线程中执行。threading.Thread
类用于创建一个新的线程,其中的 target
参数指定了要在新线程中执行的函数。
线程间通信
由于 Python 的全局解释器锁(Global Interpreter Lock,GIL),在 Python 中的多线程并不能实现真正的并行执行。如果您需要进行并行处理,可以考虑使用 multiprocessing
模块来创建进程。如果只是需要在线程之间进行简单的数据交流,threading
模块提供了一些线程安全的数据结构,如 Queue
。
以下是一个使用 Queue
进行线程间通信的示例:
import threading
import time
# 定义一个函数,将在新线程中执行
def worker_function(queue):
data = queue.get()
print(f"Worker thread received: {data}")
if __name__ == "__main__":
# 创建一个队列
shared_queue = queue.Queue()
# 在创建线程时传递队列作为参数
worker_thread = threading.Thread(target=worker_function, args=(shared_queue,))
# 启动线程
worker_thread.start()
# 在主线程中放入数据到队列
shared_queue.put("Hello from the main thread!")
# 等待线程结束
worker_thread.join()
print("Main thread is done.")
在这个示例中,主线程向队列中放入了一条消息,而新的线程从队列中获取并打印这条消息。