Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 一次仅强制运行模块的一个功能 我使用Python,我有一个C++程序的Sigg接口。这个程序是一个科学应用程序,也可以处理数据库。我们使用它来获取和保存数据,但问题是它不支持并行调用。这意味着,如果我尝试从Python生成不同的线程,并从这个应用程序调用函数,它将抛出一个异常_Python 3.x_Multiprocessing - Fatal编程技术网

Python 3.x 一次仅强制运行模块的一个功能 我使用Python,我有一个C++程序的Sigg接口。这个程序是一个科学应用程序,也可以处理数据库。我们使用它来获取和保存数据,但问题是它不支持并行调用。这意味着,如果我尝试从Python生成不同的线程,并从这个应用程序调用函数,它将抛出一个异常

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

所以我的问题是:有没有办法“强制”python模块一次只执行一次函数


正如我通常所说的,我们将从这个程序中获取一些数据,然后进行一些数字运算,并将新数据保存到程序保存的数据库中。我想到的是以某种方式包装这个模块,使函数一次只能运行一个,这样我实际上可以在程序的数字运算部分使用更多线程,而不必担心同时执行这个模块的两个(或更多)函数。

您看到的是。如果您使用的是python的
线程
,那么只需使用

在一次只能运行一次的函数中,在进入时获取锁,并在函数结束前释放锁