当先锋百科网
首页
1
2
3
4
5
6
7
在C++中多线程调用python函数,有什么办法?
的确有多线程调用的冲突问题。
通常是初始化一个python解释器。作为全局变量。然后每个线程分别调用。因为python解释器里有一个GIL的全局锁。所以要防止线程间因为GIL造成的死锁。不过具体的使用方法,与单线程没有区别。初始化python解释器。然后加载脚本,运行,取得返回变量就可以了。如果你使用system,就当我没有说。即使是使用system,也会有多线程的冲突可能性。因为操作系统的管道管理,相关文件,相关数据库,临时文件等都可能会产生冲突。