Ich habe ein Modul in Python geschrieben. Dieses Modul ist eine Art Schnittstelle zu vielen verschiedenen Funktionalitäten, die ich in Python implementiert habe:
EmbeddingInterface.py importiert dieses Modul einfach und erstellt eine Instanz:
%Vor%Ich möchte cppControllerInstance in C ++ verwenden. das habe ich bisher gemacht:
%Vor%Das Problem:
Dieser 'Controller' hat einige Funktionen, die asynchron aufgerufen werden müssen. seine Arbeit ist kontinuierlich und kann darüber hinaus Ausnahmen auslösen. deshalb klang std :: async großartig.
Aber es funktioniert nicht:
%Vor%Ich habe versucht, die Python-Funktion 'loadScene' mit einem eigenen Thread aufzurufen, aber die Funktion schien zu blockieren. Es kommt nie zurück.
Was ist der richtige Weg, das zu tun?
Scheint, Sie haben das Verhalten von std :: async
missverstandenein Code-Schnipsel:
%Vor%Ausgabe:
%Vor%Ändern Sie die Zeile
%Vor%bis
%Vor%Dann Ausgabe:
%Vor%Als Beispiel, um es sofort in einem anderen Thread auszuführen, können Sie versuchen:
%Vor%Tags und Links python c++ multithreading c++11 boost-python