Alle Python-Thread (in CPython) sind unter GIL.Ist der von ctypes erstellte Thread auch unter GIL in Python?
Was passiert, wenn der Thread von ctypes
erstellt wird?
Zum Beispiel ruft Python nur die untere Funktion durch C Library
und die Funktion erstellen einen Thread in C
Bereich nicht Python.
#include<thread>
int createUnitTestThread(int sasAddr){
sasEngine->thread = new std::thread(....);
return 0;
}
Ist es das gleiche oder nicht?
Vielen Dank für Ihre Antwort! Noch eine Frage, obwohl der 'C++ - Thread' nicht unter 'GIL' ist, läuft er immer noch auf dem' Python-Interpreter' mit der gleichen 'PID', oder? – SangminKim
Ich bin mir ziemlich sicher, dass Bad Things ™ passieren wird, wenn Sie Python von einem Thread aufrufen, der nicht von Python erstellt wurde, es sei denn, Sie registrieren ihn explizit. – o11c
@asleea: ein Thread zu sein, ja (gut, unter Linux ist ein bisschen mehr verwirrt, weil alles eigentlich eine Aufgabe ist, so könnte man argumentieren, es hat eine andere Prozess-ID, aber was auch immer). –