用Boost/C++生成一个新线程,然后让父线程结束。

我有一个 C++ 的 dll 应用程序,被嵌入到一个可执行文件的 Lua 环境中调用。我需要让 dll 的 "主线程" 引出一个线程去执行它自己的任务,然后让主线程消失掉,以便继续执行启动 dll 的 Lua 脚本。如果我使用 join(),主线程就不会返回到 Lua,如果我不使用 join(),主线程就会终止并杀掉子线程。

这个能做到吗?谢谢帮助这个新手 :)

编辑:看起来 detach() 是我要找的东西

Lua 脚本调用 require "myDLL" 并运行函数 luaopen_myDLL。这个函数会在 dll 中注册一些函数,以便可以从 Lua 中调用它们,并且应该在它自己的线程上运行 initCommunication() 函数,以便原始的 Lua 脚本可以继续运行。

Detached 看起来好像并不起作用。

原文链接 https://stackoverflow.com/questions/9857531

点赞