python多线程调用
时间: 2024-08-13 08:02:11 浏览: 116
Python 中的多线程(Threading)允许你在单个进程中创建多个并发执行的线程。每个线程都拥有独立的执行上下文,可以同时执行不同的任务。下面是如何在 Python 中使用 `threading` 模块创建和调用线程的基本示例:
```python
import threading
# 定义一个函数作为线程的目标(target)
def worker_function(data):
# 这里编写需要在线程中运行的代码
print(f"Worker thread received data: {data}")
# 创建一个线程实例,并指定目标函数和参数
my_thread = threading.Thread(target=worker_function, args=(10,))
# 启动线程
my_thread.start()
# 主线程继续执行其他操作,而子线程在其内部自行运行
time.sleep(2) # 等待一段时间让线程运行
# 线程结束后,可以使用 join() 方法等待它完成
my_thread.join()
print("Thread has finished execution.")
```
在这个例子中,`worker_function` 将在一个单独的线程中被调用,而主线程则继续执行 `time.sleep()` 阻塞操作。当 `join()` 被调用时,主线程会阻塞直到子线程完成。
然而需要注意的是,Python 的全局解释器锁(GIL)限制了在同一时刻只有一个线程执行Python字节码,这意味着对于CPU密集型任务,多线程可能不如多进程(Multiprocessing)有效。但对于IO密集型任务,多线程仍然是有用的,因为它可以利用多个线程来并发地执行I/O操作。
阅读全文