我在打开一个需要一些时间执行的Excel工作簿时在一个线程中运行代码。如果我在线程仍在执行时尝试关闭工作簿,给我标准提示保存或取消,当我单击取消时,我的线程被中断(不确定“中断”在技术上是否是正确的术语)。更一般地说,似乎UI交互/更新导致线程被中断。
是否有办法1)防止线程被UI更新/用户交互暂停,或2)允许线程在被中断后恢复?
代码没什么好看的:
Private Shared Sub Test()
Dim t As New Thread(AddressOf DoSomethingThatTakesAWhile)
t.Start()
End Sub
答案 0 :(得分:0)
我在这方面取得了很多进展,但最终无法使用我原来的方法来实现这一目标。因此,我切换到.Net Framework 4.0并使用Tasks(System.Threading.Tasks命名空间)来处理作业。任务工作精美直观,并消除了线程管理的大部分复杂性。