首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自Python C扩展的Asyncio

来自Python C扩展的Asyncio
EN

Stack Overflow用户
提问于 2017-12-03 23:52:02
回答 0查看 1.4K关注 0票数 3

我有一个Python C扩展,它从套接字获取数据并对其进行处理,在处理过程中它会释放GIL。目前我使用2个Python线程,由于GIL的发布,它们很好地交织在一起,导致两个CPU内核上90%的负载。

我如何在Python 3 asyncio中实现同样的功能?我找不到正确的Python-C-API命令来告诉事件循环它可以执行其他操作。

或者换一种说法:如果我的扩展释放了GIL,这是否意味着它不会阻止eventloop中下一个可用项的执行?例如,当我的C扩展正在处理第一个套接字的数据时,是否会读取下一个套接字?我在任何地方都找不到这个。据我所知,通过这种方式,我可以从许多套接字中获取数据,并将更多的CPU内核投入工作。

EN

回答

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

https://stackoverflow.com/questions/47620133

复制
相关文章

相似问题

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