How do I run C++ and Boost::Python code in parallel without problems?
Eg in my game I'd want to execute Python code in parallel with C++ code; if the embedded Python interpreter's code executes a blocking loop, like while(True): pass, the C++ code would still be running and processing frames to render with its own loop.
I tried with boost::thread and std::thread but unless I joined these threads with the main thread the program would crash...
Any suggestions or examples?
Your idea to use a second thread for the Python interpreter should just work. Make sure you use the PyGILState_Ensure/Release mechanisms everywhere you wish to run code that will invoke any Python or Boost::Python code. You have more details on this other SO thread here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With