在问一个多线程的问题,如何管理线程
假如线程数可以由用户动态的增加或者减少,如果管理这些线程,用线程数组吗还是Hash表?   
 for   (   int   i   =   0;   i    <   8;   i   ++   ) 
 { 
 	Thread   t   =   new   Thread(   new   ThreadStart(PrintUserId)   ); 
 	t.Start(); 
 } 
 如果我的线程通过上述方式创建,同时PrintUserId是一个非常耗时的过程,那么 
 1)   如何枚举当前进程中的这些线程? 
 2)   如果PrintUserId执行到一半我就像结束进程,应该怎么操作?   
 谢谢
------解决方案--------------------用数组,Hash,ArrayList等都可以,把它做成全局的。 
 可以在PrintUserId中添加方法在其结束前从上面的全局列表中移除自己的线程。 
 如果PrintUserId不方便改,就再做个方法把PrintUserId放到其中,结束时移除自己。 
 当然也可以单独为用户做一个方法来遍历全局列表,如果线程结束就移除。
------解决方案--------------------to 1) 如何枚举当前进程中的这些线程? 
 2) 如果PrintUserId执行到一半我就像结束进程,应该怎么操作?   
 如果是自己在创建线程的时候,把它保存到集合容器中,那么实现这两点是很容易的。   
 如果创建的时候没有保存,你可以通过process.Threads来实现,不过相应的就不直观了。
------解决方案--------------------线程池
------解决方案--------------------创建的时候保存到一个集合中去,然后进行操作就是了。
------解决方案--------------------结束进程最好用通知它自己结束,最好不要暴力结束