2015-09-10 47 views
1

我有哪裏我使用的是Linux機器上調用一個嵌入式Python模塊一個C程序:當調用嵌入式Python模塊時,是否已切換線程?

Py_Initialize(); 

    PyObject_CallFunction(PyFun) 

Py_Finalize(); 

我的問題是:將蟒蛇功能仍處於同一個線程中的C函數運行?我如何檢查這個?

我在Python中使用thread.get_ident(),在C中使用pthread_self()來打印線程ID。但我不確定他們的意思是否相同。

回答

0

在Python模塊的執行過程中,我嘗試從包裝的C函數中打印pthread_self()。 1.在調用python模型之前,它與pthread_self()調用相同。 2.兩個pthread_self()不等於python中的thread.get_ident()。

所以我想 1.在同一個線程。 2. pthread_self()和thread.get_ident()完全不同。

相關問題