我必须说,这可能是一种糟糕的模式,但在我的沙箱中,我创建了一个接口,它调用一个后台服务(每次单击一个按钮就会触发一个线程并保持其正常运行)。
这很好,因为我可以制造一个混乱的局面,并找出环境将如何处理这个问题。
但是,否则,我将面临一个问题:如何使当前所有线程运行并将它们全部杀死。打电话给国标什么的。
发布于 2012-05-08 21:33:52
我假设您不需要一个所有运行线程的列表--您需要一个通过特定机制启动的运行线程列表,对吗?
如果是这样的话,您可以在启动这些线程时这样做:
List<Thread> myThreads = new List<Thread>();
public void StartAThread() {
Thread t = new Thread( ... whatever ...);
myThreads.Add(t);
t.Start();
}现在,假设你想扼杀那些带有极端偏见的线程--也就是说,你想让它们死掉,现在,你不关心半途而废的影响,你可以这样做:
foreach (var t in myThreads)
t.Abort();https://stackoverflow.com/questions/10506782
复制相似问题