我在asp.net
应用程序中创建了普通线程。线程完成后我该怎么办?离开它(它会回到线程池)或中止它。
Thread thread = new Thread(new ThreadStart(work));
答案 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处理其他所有事情。