我想知道wxPython与在不同内核上运行的东西之间的交互,以及wxPython在运行时是否会释放GIL。
我假设当我启动一些命令时,wxPython会启动wxWidgets c++代码,该代码在multiple cores上运行,然后以某种方式releases the GIL,直到任务完成,然后返回。然而,我没有什么可以作为基础的。这种情况曾经发生过吗?
引擎盖下到底发生了什么?
发布于 2017-07-06 00:54:25
每当调用wx C++函数或方法时,都会自动释放和重新获取GIL。这可能有点夸张,因为有一些东西是快速的,永远不会阻塞,不释放/重新获取GIL可能更有效,但这种方法确保了我们不会错过会阻塞的东西。
此外,每当有事件被分派到Python事件处理程序,或者当Python中被覆盖的虚拟方法被调用时,等等,那么在进入该代码之前获取GIL并在之后再次释放。
https://stackoverflow.com/questions/44913520
复制相似问题