首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中实现C扩展的“绿色”调用

在python中实现C扩展的“绿色”调用
EN

Stack Overflow用户
提问于 2018-03-19 16:56:29
回答 1查看 172关注 0票数 1

我有一些python代码,它严重依赖于greenlets。我可以使用geventeventlet

我已经将代码的某些部分打包成了C扩展,但这些调用不会让位于其他的greenlet。有没有可能编写我的扩展,让它在不需要GIL的情况下将控制权交给其他python线程?

EN

回答 1

Stack Overflow用户

发布于 2018-03-20 17:22:01

您可以使用普通的PyObject_CallFunction(eventlet/greenlet.sleep)将控制权交给其他绿色线程。它必须像任何其他Python代码一样在GIL锁定的情况下运行。

如果没有GIL,就不能运行Python代码。(您可以这样做,但它很快就会倾斜并损坏内存)。

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

https://stackoverflow.com/questions/49358984

复制
相关文章

相似问题

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