我想创建一个简单的python web服务器来公开我的c ++应用程序的一些功能。
我已经嵌入了python,我可以调用python代码并回调c ++函数进行交互。
我的问题是能够在不锁定应用程序的情况下运行网络服务器。
使用python线程为Web服务器在初始化完成后立即停止服务器。如何给python解释器留出时间继续进行线程处理?
旧解释
如果我创建了web服务器(例如使用cherrypy),那么从浏览器调用c ++函数也很容易......缺少的是c ++应用程序被锁定。我的想法是使用一个python线程,但是从test开始是python代码,直到调用另一个python代码(任何python代码)。
所以我的结论是我需要在c ++应用程序(MFC应用程序)的事件管理期间给python解释器一些时间
这是最好的做法吗?这样做有一些API函数吗?
其他解决方案是创建一个c ++线程并使用PyThread*
函数启动解释器......但我担心的是GIL
锁定GUI应用程序。
再次说明:这类工作的最佳做法是什么?