【发布时间】:2015-09-29 11:32:41
【问题描述】:
我有这个代码
Thread thread1 = new Thread(this.DoSomething1);
Thread thread2 = new Thread(this.DoSomething2);
thread1.Start();
thread2.Start();
我需要第一个完成的线程立即杀死另一个线程。 请注意,线程不是运行一段时间的那种,所以我不能使用静态变量告诉线程停止。哪个线程会先结束?
【问题讨论】:
-
没有安全的方法可以杀死线程。至于等待其中一项任务完成,直接用
Task.Run,不用手动创建线程,可以用Task.WhenAny。 -
这听起来有点像XY Problem。您的线程实际上在做什么,您需要它们以这种方式运行?
-
伙计们,感谢您的快速响应,但是: 1. 我的线程不循环。 2. 他们做的工作完全不同。
标签: c# .net multithreading winforms