交易是:
我想创建一个线程,其工作方式类似于在 Windows 中执行一个新的 .exe,因此如果该程序(新线程)崩溃或进入无限循环:它将被优雅地杀死(超过时间限制后或当它崩溃)并正确释放所有资源。
当该线程成功时,我希望能够修改一些全局变量,其中可能包含一些数据,例如文件列表。这就是为什么我不能只从 Windows 执行外部可执行文件的原因,因为我无法访问在新线程中执行的函数内的变量。
编辑:进一步阐明了问题。
最佳答案
调用 CreateThread
后线程已经运行。
WaitForSingleObject
不是必需的(除非你真的想等待线程完成);但它不会“强制退出”线程;事实上,强制戒烟——即使可能——从来都不是一个好主意;你可能例如让资源保持打开状态或以其他方式让您的应用程序处于不良状态。
关于c++ - 如何创建一个新线程并在一段时间后终止它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8477130/