我正在使用 Python,并且我有一个 C++ 程序的 swig 接口。这个程序是一个科学应用程序,它也处理一个数据库。我们用它来获取和保存数据,但问题是它不支持并行调用。这意味着如果我尝试从 Python 生成不同的线程并从该应用程序调用函数,它将引发异常。
所以我的问题是:有没有办法“强制”一个python模块一次只执行一次函数?
正如我通常所说的,我们会从这个程序中获取一些数据,而不是进行一些数字运算并将新数据保存到程序保存的数据库中。我想到的是以某种方式包装这个模块,使函数一次只运行一个,所以我实际上可以在程序的数字运算部分使用更多线程,而不必担心有两个(或更多)函数该模块同时执行。