首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设计我的python应用程序以跨多核并行工作

如何设计我的python应用程序以跨多核并行工作
EN

Stack Overflow用户
提问于 2013-06-09 01:28:40
回答 1查看 599关注 0票数 1

据我所知,在Python中,如果你在多核环境中使用普通的线程,GIL通常会以负面的方式影响性能(因为线程会不断地获取和释放GIL,并在线程/处理器之间进行大量的上下文切换)。

这就是为什么很多人开始使用绿色线程,例如eventlet。eventlet库允许多个绿色线程协同工作,并在单个处理器中完美地工作(较少的同步问题,快速繁殖/效率等)。

我的问题是,如果我有一个多核操作系统,并且要设计我的python应用程序,我应该遵循什么最佳实践或设计模式来利用协作线程(绿色线程)和多核处理器的优势。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-09 20:37:27

我第一次在Youtube growth 1的技术演讲中看到的非常普遍的方法是:识别并解决你的瓶颈,饮酒,睡眠等,继续处理瓶颈。

所以,当你有太多的工作和内核闲置的时候,好吧,运行更多的进程。使用相同的方法,您将知道何时停止甚至缩小进程池。

1

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17002047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档