python如何单进程压满服务
2018-09-24 · 百度知道官方认证企业
腾讯电脑管家
腾讯电脑管家是腾讯公司推出的免费安全管理软件,能有效预防和解决计算机上常见的安全风险,并帮助用户解决各种电脑“疑难杂症”、优化系统和网络环境,是中国综合能力最强、最稳定的安全软件。
向TA提问
关注
展开全部
Python有GIL即全局解释器锁。因此多线程Python脚本无法同时执行,只能用到单核。
你可以用multiprocessing来实现多进程,或者考虑将复杂的逻辑改为用c实现。
下面的代码就是根据cpu核心数量开启进程池,然后其中map第一个参数是业务方法,第二个是迭代器,每当有空闲进程时,进程池就会取下一组数据进行计算。
pool = Pool(processes=os.cpu_count())
results = pool.map(__read_excle, [(r'resource/linkdata/' + i, i) for i in os.listdir(r'resource/linkdata/')])
pool.close()
pool.join()
你可以用multiprocessing来实现多进程,或者考虑将复杂的逻辑改为用c实现。
下面的代码就是根据cpu核心数量开启进程池,然后其中map第一个参数是业务方法,第二个是迭代器,每当有空闲进程时,进程池就会取下一组数据进行计算。
pool = Pool(processes=os.cpu_count())
results = pool.map(__read_excle, [(r'resource/linkdata/' + i, i) for i in os.listdir(r'resource/linkdata/')])
pool.close()
pool.join()
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询