• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#多线程参数传递

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

class ThreadDemo  
   {  
       private Thread[] threads;  
       private int thrs = 10;//线程数量  
       private ArrayList stringList;  
       private event EventHandler OnNumberClear;//数据删除完引发的事件  
       public ThreadDemo(int number)  
       {  
           stringList = new ArrayList();  
           for (int i = 0; i < number; i++)  
           {  
               stringList.Add(i.ToString());  
           }  
           threads = new Thread[thrs];  
           for (int i = 0; i < thrs; i++)  
           {  
               threads[i] = new Thread(new ParameterizedThreadStart(run));  
               threads[i].Name = "线程:" + (i + 1);  
           }  
           OnNumberClear += new EventHandler(ThreadDemo_OnNumberClear);  
       }  
       public void Action()  
       {  
           for (int i = 0; i < thrs; i++)  
           {  
               threads[i].Start((object)"Prince");  
           }  
       }  
       //注意参数一定要是 object 类型。多参数的话可以考虑用 struct类型  
       public void run(object para)  
       {  
           string stringValue = null;  
           while (true)  
           {  
               Monitor.Enter(this);  
               stringValue = (string)stringList[0];  
               Console.WriteLine(Thread.CurrentThread.Name + "删除了:" + para + " === " + stringValue);  
               stringList.RemoveAt(0);  
               if (stringList.Count == 0)  
               {  
                   OnNumberClear(null, null);  
               }  
               Monitor.Exit(this);  
               Thread.Sleep(2000);  
           }  
       }  
       void ThreadDemo_OnNumberClear(object sender, EventArgs e)  
       {  
           Console.WriteLine("执行完所有的线程");  
           for (int i = 0; i < thrs; i++)  
               threads[i].Abort();  
       }  
   }

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wangzi041/archive/2009/05/05/4151627.aspx


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#where用法发布时间:2022-07-10
下一篇:
VSTO:使用C#开发Excel、Word【10】发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap