python怎么实现并行计算_用Python实现多核心并行计算

本文介绍了Python如何实现并行计算,通过多进程利用多核CPU资源,以提高计算性能。文中通过示例代码展示了如何使用multiprocessing模块创建进程池进行并行计算,讨论了Python中多线程的限制及其与多进程的区别。
摘要由CSDN通过智能技术生成

平常写的程序,无论是单线程还是多线程,大多只有一个进程,而且只能在一个核心里工作。所以很多应用程序即使正在满载运行,在任务管理器中CPU使用量还是只有50%(双核CPU)或25%(四核CPU)

如果能让一个程序自己建立出多个进程,并且让它们并行运行,那么就可以在不同cpu核心上同时运行,进而实现并行计算啦。

Python的并行计算就是这么做的。

之前的理解错了......还是要学习一个

1、多线程与多进程

之前OS课学过.....

in general,线程是比进程低一级的调度单位。一个进程可以包含多个进程。

线程之间的切换相对于进程之间更为方便,代价也更低。所以讲道理多线程的效率比多进程是要高的。

Linux自从2.6内核开始,就会把不同的线程交给不同的核心去处理。Windows也从NT.4.0开始支持这一特性。

【ref:http://blog.csdn.net/delacroix_xu/article/details/5928121

2.多线程与Python

好多语言都可以很好的资词多线程。然而Python是个例外......

对于IO密集型的任务,使用多线程还是能提高一下CPU使用率。对于CPU密集型的任务,Python中的多线程其实是个鸡肋......没卵用......

在Python的解释器CPython中存在一个互斥锁。简单来讲就是同一时间只能有一个线程在执行,其它线程都处于block模式。

【ref:https://www.zhihu.com/question/22191088

3.多进程

要想在py中充分利用多核cpu,就只能用多进程了。

虽然代价高了些&#x

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值