【发布时间】:2012-05-17 11:05:02
【问题描述】:
我为我的 Windows 服务中的每个循环启动了多个线程。我没有提到这些线程的任何名称。我怎样才能终止这些线程。 我使用下面的代码来创建线程。
new Thread(() =>
{
foreach (MyClass detail in MyclassList)
{
DoWork(detail);
}
}).Start();
通过启动这些线程,我为每个细节创建了一个调度任务。我可以在调度完成后处理这个线程吗?如何?
【问题讨论】:
-
终止什么?由谁?为什么是“线程”?您正在创建一个线程,它将按顺序处理每个任务,但与“主”线程并行
-
你的意思是在执行期间杀死线程还是仅仅加入它们?
-
DoWork 任务完成后我想中止创建的线程
-
@Satheesh 如果您在
DoWork之后中止,您将只处理列表中的一项。更好的方法是使用.Take(1)或类似的
标签: c# windows multithreading service