【问题标题】:Background thread in .NET.NET 中的后台线程
【发布时间】:2010-05-21 22:48:08
【问题描述】:

当用户保存一些数据时,我想分离一个后台线程来更新我的索引并做一些其他随机的事情。即使在这个索引中存在错误,用户也无法对此做任何事情,因此强制主线程等待后台线程完成是没有意义的。我是从 ASP.NET 进程中执行此操作的,所以我认为我应该能够执行此操作(因为退出的主线程不会终止该进程)。

当我在后台线程的方法中设置断点时,主线程似乎也停止了。这只是visual studio调试器的产物,还是主线程真的要等到后台线程停止才返回?

【问题讨论】:

  • 在 ASP.NET 中使用线程要非常小心。请求完成后线程可能会尝试执行。这时,请求消失了,页面已经被释放等等,你可能依赖的任何状态都不再有效。它也可能无助于提高性能。

标签: c# multithreading


【解决方案1】:

当您在 VS 中调试时,其他线程也会停止,尽管并不总是在同一个位置。

【讨论】:

  • 这是设计使然——您不希望一个线程关闭并可能改变您尝试调试的应用程序的状态。另请注意,您可以手动冻结/解冻您感兴趣的线程。
猜你喜欢
  • 1970-01-01
  • 2012-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多