关于.NET多线程嵌套的管理问题
多线程,没什么经验,请大家多指教。
问题描述如下:
一个WINFORM的应用,在主程序启动后, 会启动N个子线程,形如:
static void main(){
Thread t1 = new Thread (new ThreadStart(Entity1.doWork));
Thread t2 = new Thread (new ThreadStart(Entity2.doWork));
......
Thread tN = new Thread (new ThreadStart(EntityN.doWork));
}
,然后呢,每个 EntityX.doWork 的逻辑中, 又启动了N个子线程,形如:
public class EntityX{
public static void doWork(){
Thread t1 = new Thread (new ThreadStart(Sample1.go));
Thread t2 = new Thread (new ThreadStart(Sample2.go));
......
Thread tN = new Thread (new ThreadStart(SampleN.go));
}
}
现在的问题是: 需要在主程序中,对所有的子线程(子的子)进行生命周期的管理,请教各位有没有好的方案,我自己目前的实现思路是用 timer + thread 数组的轮询方式来做,不过感觉不是很好,希望大家不吝赐教。
针对我要实现的模式, 如果哪位有更好的实现逻辑,也请不吝赐教,先谢谢。