真正的多線程我想測試一個多線程的C++ DLL。這個DLL應該是線程安全的。我用boost.python包裝了它,我想創建多個python線程來通過boost.python包裝器來運行DLL。我實際上是嘗試導致線程問題。並帶有Boost.Python
我似乎無法找到很好的文檔是python解釋器是否會支持它的兩個線程(在不同的核心上說)同時調用導入的模塊,以及GIL是否需要管理我不希望任何額外的安全性高於DLL應該提供的。
誰能描述或參考我的蟒蛇調用多個線程和GIL是如何suppsed在這種情況下要使用的DLL模塊的描述?
顯然,你將不得不自己來釋放GIL,否則你不會有任何一個以上的線程同時運行。見http://stackoverflow.com/questions/1576737/releasing-python-gil-in-c-code – lvella
這是http://stackoverflow.com/questions/8009613/的副本? –
一個問題:如果我不釋放GIL,並且從Python調用的C++代碼創建一個線程,該線程是否可以安全地調用python代碼。我想不是因爲它會解釋我得到的崩潰... – MatthieuW