基于Python的shell嵌入C++选择

基于Python的shell嵌入C++选择,python,c++,multithreading,select,python-embedding,Python,C++,Multithreading,Select,Python Embedding,我有一个基于事件的应用程序,我在其中选择各种事情,并根据选择的内容,应用程序处理它。为了补充这一点,我想添加一个用python实现的交互式菜单。在一个从while内部调用的典型更新中!完成循环: - while(!done) { select() with timeout give control to python menu with timeout } 另外,我不想在单独的线程上运行python菜单,因为它带来了竞争条件的问题,并且由于代码/应用程序/客户的性质,我不能在菜单交

我有一个基于事件的应用程序,我在其中选择各种事情,并根据选择的内容,应用程序处理它。为了补充这一点,我想添加一个用python实现的交互式菜单。在一个从while内部调用的典型更新中!完成循环:

- while(!done) {
   select() with timeout
   give control to python menu with timeout
}
另外,我不想在单独的线程上运行python菜单,因为它带来了竞争条件的问题,并且由于代码/应用程序/客户的性质,我不能在菜单交互的代码部分使用锁。因此,它必须在单线程环境中完成


我一直在网上阅读,但我找不到一种在单线程环境中超时的方法。有人能给我指一下正确的方向吗?有人能给我指点怎么做吗?

我想问题是,你的菜单是用什么实现的,你是如何尝试调用Python的?大多数GUI框架都有一个API调用,可以为此运行单个时间片。@mnunberg菜单是用python实现的。菜单可能会让人误以为它是GUI菜单。事实并非如此。这是一个基于文本的命令行菜单,用户可以从中选择选项1-6,我们根据选择的选项做一些特定的事情。所以菜单是一个简单的stdin循环?是的,只是它是使用cmd用python编写的[