求此种情况下的线程解决方案
相信大家都用过迅雷下载软件吧,可以同时下载线程以内的多个任务;我要做个类似的功能,请大家给出详细方案. 
 1.可以同时运行多个任务, 
 2.而每个任务调用同一个方法, 
 3.每个任务可能是一辈子都无法执行完的任务,也就是说调用的那个方法,执行起来是永远不会停止的.   
 请各位高手给出解决方案,如果上面第3条有问题,以至于无法提供解决方案,可以更改.但前二条是可以实现的,但我不知道如何解决.当然要用到线程了. 
 当然能够提供点代码加以解释,那就感激涕零了.
------解决方案--------------------首先创建一个执行任务的Class,然后每增加一个Task,就创建一个Thread,在线程里面实例一个Class来运行Task;
------解决方案--------------------您可以将每个下载事件作成一个几个类,因为在网络上下载东西是要考虑httpReponse,httpRequest,Proxy(代理)等,所以您可以分成多个类来写: 
 第一个类描述下载事物的具体信息 
 第二个类描述下载过程中所发生的事件,比如进度条的增长和窗体上所发生的比如控件的显示名称的改变(label的Text) 
 第三个类描述下载完成所发生的事件 
 然后在每一个任务来之前定义一个触发,然后就是foreach循环 
 在foreach循环中要考虑哪个是新增加的任务,哪个是已经结束的任务.
------解决方案--------------------改用   
 object myLock=new object();   
 lock(myLock) 
 { 
 // do whatever you want to do 
 }   
 另 
 必须用delegate 来更新UI