python多线程执行
时间: 2023-10-13 18:04:46 浏览: 47
Python多线程执行可以使用threading模块来实现。该模块提供了创建和管理线程的功能。可以通过以下方式来创建线程:
示例代码1:
```
import time
import threading
def test():
time.sleep(10)
for i in range(10):
print(i)
thread1 = threading.Thread(target=test)
thread1.start()
print('主线程完成了')
```
在这个例子中,我们首先定义了一个函数test(),该函数会在启动线程后执行。然后我们创建了一个Thread对象,将test()函数作为target参数传入,并调用start()方法启动线程。最后,在主线程中打印了一条完成信息。执行此代码时,主线程会启动一个新的子线程去执行test()函数,同时主线程继续执行后续代码。
示例代码2:
```
import time
import threading
def test():
time.sleep(5)
for i in range(10):
print(i)
thread1 = threading.Thread(target=test)
thread1.start()
thread1.join()
print('主线程完成了')
```
在这个例子中,与前面的示例不同之处在于在主线程中调用了thread1.join()方法。该方法会阻塞主线程,直到thread1线程执行完成后才会继续执行主线程的后续代码。这样可以确保在主线程完成之前,子线程的任务能够得到执行完毕。
注意,Python的多线程由于全局解释器锁(GIL)的存在,无法充分利用多核CPU的计算能力。如果想要充分发挥多核CPU的计算能力,可以考虑使用multiprocessing模块。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [Python多线程简介](https://blog.csdn.net/qq_43590221/article/details/103217631)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [python的多线程](https://blog.csdn.net/weixin_61805348/article/details/125021831)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]