Python 3.x 一次仅强制运行模块的一个功能 我使用Python,我有一个C++程序的Sigg接口。这个程序是一个科学应用程序,也可以处理数据库。我们使用它来获取和保存数据,但问题是它不支持并行调用。这意味着,如果我尝试从Python生成不同的线程,并从这个应用程序调用函数,它将抛出一个异常
所以我的问题是:有没有办法“强制”python模块一次只执行一次函数Python 3.x 一次仅强制运行模块的一个功能 我使用Python,我有一个C++程序的Sigg接口。这个程序是一个科学应用程序,也可以处理数据库。我们使用它来获取和保存数据,但问题是它不支持并行调用。这意味着,如果我尝试从Python生成不同的线程,并从这个应用程序调用函数,它将抛出一个异常,python-3.x,multiprocessing,Python 3.x,Multiprocessing,所以我的问题是:有没有办法“强制”python模块一次只执行一次函数 正如我通常所说的,我们将从这个程序中获取一些数据,然后进行一些数字运算,并将新数据保存到程序保存的数据库中。我想到的是以某种方式包装这个模块,使函数一次只能运行一个,这样我实际上可以在程序的数字运算部分使用更多线程,而不必担心同时执行这个模块的两个(或更多)函数。您看到的是。如果您使用的是python的线程,那么只需使用 在一次只能运行一次的函数中,在进入时获取锁,并在函数结束前释放锁
正如我通常所说的,我们将从这个程序中获取一些数据,然后进行一些数字运算,并将新数据保存到程序保存的数据库中。我想到的是以某种方式包装这个模块,使函数一次只能运行一个,这样我实际上可以在程序的数字运算部分使用更多线程,而不必担心同时执行这个模块的两个(或更多)函数。您看到的是。如果您使用的是python的
线程
,那么只需使用
在一次只能运行一次的函数中,在进入时获取锁,并在函数结束前释放锁