思路问题

YuHoooo 2018-04-22 12:17:40
我有100个线程和100个方法,怎么让这些线程执行不同方法,一一对应,不重复。有这种方法容器么?
不要创建一个线程给他一个方法,再创建一个线程给他另一个方法这种的。有没有灵活一点的?
...全文
533 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xian_wwq 2018-04-23
  • 打赏
  • 举报
回复
如果是短线程(较短时间内可以执行完成), 不需要单独起这么多线程 用线程池就可以了
jwb7832007 2018-04-23
  • 打赏
  • 举报
回复
没有太明白你具体什么意思,猜你是想省点代码?觉得挨个写不太优雅? Dictionary<Thread, Action> dic = new Dictionary<Thread, Action>(); void start() { List<Action> Action = new List<Action>() { new Action(()=> { /*线程代码 -> method1(); */ }),//方法1 new Action(()=> { /*线程代码 -> method2(); */ }),//方法2 new Action(()=> { /*线程代码 -> method3(); */ }),//方法3 //...... new Action(()=> { /*线程代码 -> method100(); */ }),//方法100 }; Action.ForEach(a => ExecuteFromThread(a)); } void ExecuteFromThread(Action Action) { var tempThread = new Thread(new ThreadStart(Action)); tempThread.IsBackground = true; tempThread.Start(); dic.Add(tempThread, Action);//线程存dic }

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧