文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页技术开发数据库教程 → C#多线程变成传递参数解决方案

C#多线程变成传递参数解决方案

时间:2009/1/1 6:33:00来源:本站整理作者:我要评论(0)

在写多线程程序的时候,往往委托调用的方法不能传递参数,但是我就遇到了一个问题,线程委托的方法必须要传递参数,因为我有多个线程,而多个线程所注册的方法体基本上都是一样的,只有几个变量的值不一样,我也不想写什么 方法1(){……} ; 方法2(){……} 方法3(){……}等等,因为我的线程有可能是100个,或者是更多,所以我放弃了这种方法,想用一个方法,然后向里面扔参数,去用循环搞定它,这样才能表现出程序的精简型,和优秀程序员作风,于是我上网查阅了些资料,并且和同事交流了一下,得出一个解决方案:

  首先~线程调用的类里定义个变量,然后再线程委托的方法体内也定义一个变量,当然这个变量就是你千方百计想要穿进去的,然后方法体内的第一句话就是 "方法体变量 = 类的变量" ; 用一个循环去启动这些线程,而且这些线程同样都去注册这个方法体

  关键代码部分:

  for (int i = 0; i < _MAXSERVER; i++)ITPUB个人空间Fr^(@9K7u"]
  {

  类变量= (ServerBean)serverState[i];//类变量赋值

  Thread th = new Thread(new ThreadStart(ScanPort));//ScanPort是我的一个方法体

  th.Start();

  Thread.Sleep(10);//这里睡上10秒是为了让启动的这个线程有足够的时间去执行它的第一句

  赋值语句

  }

相关视频

    没有数据

相关阅读 手机号码收不到验证码怎么回事win10系统内存占用过高怎么办 win10内存占用高解决方案微信已逆天 微信发布行业解决方案android解决方案:获取网络图片“Oxc0000135”失败完美解决方案取消网页各种禁止功能的解决方案上网常见错误及解决方案关于Dreamweaver乱码问题的解决方案

文章评论
发表评论

热门文章 oracle10g安装图解(wi

最新文章 数据库流行度排行2019oracle10g安装图解(wi SQL2008全部数据导出导入两种方法SQL2005新建复制“找不到存储过程 错误:28Dos远程登录mysql数据库详细图文教程mysql怎么开启远程登录功能

人气排行 mysql自动定时备份数据库的最佳方法-支持wiVisual Foxpro 6.0安装向导图文教程SQL Server 2008 安装图文教程SQL2008全部数据导出导入两种方法SQL 2000/2005/2008 的收缩日志方法,和清理mysql出 Can't connect to MySQL server onoracle10g安装图解(win7)sql2005安装图解_(sql server2005)安装教程