我有一个程序将.zip
文件从一个目录复制到另一个目录并解压缩。我为此使用后台工作者。
现在,当程序开始使用Visual Studio“开始”按钮或直接从Debug/program.exe
双击时,该程序可以正常运行,但是当我将此.exe
文件复制到其他地方时,它会开始正常执行某些操作在主线程上,但后台工作者似乎没有工作。
有没有人知道发生了什么?
答案 0 :(得分:0)
自我注意:永远记住第三方.dll
文件。我的输出目录中没有它们,所以程序无法运行。谢谢@KoBE。
答案 1 :(得分:-1)
它看起来像主线程完成,而后台线程没有完成他的工作。我认为你需要在主线程中等待后台线程完成。您可以使用同步对象,例如手动/自动重置事件。 方案很简单: 1.在主线程中,您启动一些后台线程 2.主线程完成之前,应等待后台线程完成工作 3.当后台线程完成工作时,主线程也可以完成
在调试模式下,由于主线程中的延迟和断点,后台线程有足够的时间来完成他的工作