Próbuję przetestować wielowątkowe DLL C++. Ta biblioteka DLL ma być wątkowo bezpieczna. Mam go opakowane boost.python i chciałbym utworzyć wiele wątków Pythona do wykonywania DLL za pomocą opakowania boost.python. W rzeczywistości próbuje powodować problemy z gwintowaniem.True wielowątkowość z boost.python
To, czego nie mogę znaleźć, to dobra dokumentacja na temat tego, czy interpreter python będzie obsługiwał dwa z jego wątków (na różnych rdzeniach, powiedzmy) wywołujących jednocześnie importowany moduł i czy GIL potrzebuje opiekowania się w ogóle Nie chcę żadnego dodatkowego bezpieczeństwa powyżej tego, co powinna dostarczyć biblioteka DLL.
Czy ktoś może opisać lub odesłać mnie do opisu python wywołania modułów DLL z wielu wątków i jak GIL jest suppsed do użycia w tym przypadku?
Wygląda na to, że będziesz musiał uwolnić GIL samodzielnie, w przeciwnym razie nie będziesz mieć więcej niż jednego wątku na raz. Zobacz http://stackoverflow.com/questions/1576737/releasing-python-gil-in-c-code – lvella
Czy jest to duplikat http://stackoverflow.com/questions/8009613/? –
Pytanie boczne: jeśli nie zwalniam GIL, a kod C++ wywołany z Pythona tworzy wątek, czy ten wątek może wywołać kod Pythona bezpiecznie, czy nie. Przypuszczam, że nie tak, jak by to wyjaśnił wypadek ... – MatthieuW