线程在VB.NET中被中断

时间:2012-03-13 04:33:27

标签: vb.net multithreading excel thread-safety

我在打开一个需要一些时间执行的Excel工作簿时在一个线程中运行代码。如果我在线程仍在执行时尝试关闭工作簿,给我标准提示保存或取消,当我单击取消时,我的线程被中断(不确定“中断”在技术上是否是正确的术语)。更一般地说,似乎UI交互/更新导致线程被中断。

是否有办法1)防止线程被UI更新/用户交互暂停,或2)允许线程在被中断后恢复?

代码没什么好看的:

Private Shared Sub Test()
    Dim t As New Thread(AddressOf DoSomethingThatTakesAWhile)
    t.Start()
End Sub

1 个答案:

答案 0 :(得分:0)

我在这方面取得了很多进展,但最终无法使用我原来的方法来实现这一目标。因此,我切换到.Net Framework 4.0并使用Tasks(System.Threading.Tasks命名空间)来处理作业。任务工作精美直观,并消除了线程管理的大部分复杂性。