悬赏园豆:100
[已关闭问题]
<P><FONT size=2>问题描述如下:</FONT></P>
<P><FONT size=2>一个WINFORM的应用,在主程序启动后, 会启动N个子线程,形如:</FONT></P>
<P><FONT size=2>static void main(){ </FONT></P>
<P><FONT size=2>Thread t1 = new Thread (new ThreadStart(Entity1.doWork));</FONT></P>
<P><FONT size=2>Thread t2 = new Thread (new ThreadStart(Entity2.doWork));</FONT></P>
<P><FONT size=2>......</FONT></P>
<P><FONT size=2>Thread tN = new Thread (new ThreadStart(EntityN.doWork));</FONT></P>
<P><FONT size=2>}</FONT></P>
<P><FONT size=2>,然后呢,每个 EntityX.doWork 的逻辑中, 又启动了N个子线程,形如:</FONT></P>
<P><FONT size=2>public class EntityX{</FONT></P>
<P><FONT size=2> public static void doWork(){</FONT><FONT size=2> </P>
<P><FONT size=2> Thread t1 = new Thread (new ThreadStart(Sample1.go));</FONT></P>
<P><FONT size=2> Thread t2 = new Thread (new ThreadStart(Sample2.go));</FONT></P>
<P><FONT size=2> ......</FONT></P>
<P><FONT size=2> Thread tN = new Thread (new ThreadStart(SampleN.go));</FONT></P>
<P> }</P>
<P>}</P>
<P> </P>
<P>现在的问题是: 需要在主程序中,对所有的子线程(子的子)进行生命周期的管理,请教各位有没有好的方案,我自己目前的实现思路是用 timer + thread 数组的轮询方式来做,不过感觉不是很好,希望大家不吝赐教。</P>
<P>针对我要实现的模式, 如果哪位有更好的实现逻辑,也请不吝赐教,先谢谢。</P></FONT>
问题补充:
是这样的,我的这些线程是前台线程;
对共享资源的访问,均为 只读访问
对线程的管理,是因为可能需要中途终止线程的执行。
三角猫
|
初学一级
|
园豆:
105
提问于:2008-06-11 19:46