线程完成后我该怎么办?离开它还是放弃它?

时间:2011-01-13 05:22:05

标签: c# .net multithreading abort

我在asp.net应用程序中创建了普通线程。线程完成后我该怎么办?离开它(它会回到线程池)或中止它。

Thread thread = new Thread(new ThreadStart(work));

3 个答案:

答案 0 :(得分:3)

离开它。创造一个毫无意义的例外毫无意义。

答案 1 :(得分:2)

回想一下,IDisposable接口存在具体,适用于需要释放某些共享资源的场景。 (当然,它也适用于其他环境;但这就是它最初的用途。)

现在考虑托管的Thread 实施IDisposable ,您可能会(正确地)猜测它不需要任何特定的清理超出GC的正常处理范围。

答案 2 :(得分:1)

在C#中使用线程池

   [STAThread]
    public static void Main(string[] args)
    {
      foreach(var  fileNamePath in DirectoryFiles)
      {
         ThreadPool.QueueUserWorkItem(ThreadPoolCallback, fileNamePath);
      }
    }

  public void ThreadPoolCallback(object threadContext)
  {
       //do something 
  }

.NET中的threadPool处理其他所有事情。