当前位置: 首页 > news >正文

兰州做网站关键词是什么

兰州做网站,关键词是什么,山东省建设厅执业资格注册中心网站,自己怎么制作小程序商城最近遇到了一个业务场景&#xff0c;需要对List中的数据逐个发起http请求(List中的数据各自独立&#xff0c;对执行顺序无要求)&#xff0c;考虑到可以使用多线程加快处理速度。 封装了如下方法&#xff1a; /// <summary>/// 多线程处理数据-无返回值/// </summary&…

最近遇到了一个业务场景,需要对List中的数据逐个发起http请求(List中的数据各自独立,对执行顺序无要求),考虑到可以使用多线程加快处理速度。

封装了如下方法:

/// <summary>/// 多线程处理数据-无返回值/// </summary>/// <param name="list"></param>/// <param name="action">数据处理方法</param>/// <param name="threadCount">开启线程数量</param>/// <param name="waitFlag">是否等待全部结束</param>static void RunTask<T>(List<T> list, Action<T> action, int threadCount = 5, bool waitFlag = true){var queue = new ConcurrentQueue<T>(list);threadCount = Math.Min(threadCount, list.Count);Task[] tasks = new Task[threadCount];for (int i = 0; i < threadCount; i++){tasks[i] = Task.Run(() =>{while (queue.TryDequeue(out T t)){action(t);}});}if (waitFlag){Task.WaitAll(tasks);}}/// <summary>/// 多线程处理数据-有返回值/// </summary>/// <param name="list">待处理数据</param>/// <param name="func">数据处理方法</param>/// <param name="count">开启线程数量</param>static List<TReturn> RunTask<T, TReturn>(List<T> list, Func<T, TReturn> func, int threadCount = 5){var result = new ConcurrentBag<TReturn>();var queue = new ConcurrentQueue<T>(list);threadCount = Math.Min(threadCount, list.Count);var tasks = new Task[threadCount];for (int i = 0; i < threadCount; i++){tasks[i] = Task.Run(() =>{while (queue.TryDequeue(out T t)){result.Add(func(t));}});}Task.WaitAll(tasks);return result.ToList();}

使用示例:

public void DoSingle(User user, string param1, string param2){//HttpHelper.Get("http://xxxx/userid="+user.id);//doSomething();Console.WriteLine(user.Id + "-" + user.Name + "-" + param1 + "-" + param2);}public string DoSingle2(User user, string param1, string param2){//HttpHelper.Get("http://xxxx/userid="+user.id);//doSomething();Console.WriteLine(user.Id + "-" + user.Name + "-" + param1 + "-" + param2);return user.Id + "-666";}public class User{/// <summary>/// id/// </summary>public int Id { get; set; }/// <summary>/// 姓名/// </summary>public string Name { get; set; }}public void Test(){var list = new List<User> {new User { Id = 1, Name = "张三" },new User { Id = 2, Name = "李四" },new User { Id = 3, Name = "王五" }};RunTask(list, t => DoSingle(t, "参数1", "参数2"));var retList = RunTask(list, t => DoSingle2(t, "参数1", "参数2"));}

http://www.hkea.cn/news/187073/

相关文章:

  • 做网站有了空间在备案吗百度权重高的网站有哪些
  • 做空间的网站著名的网络营销案例
  • 做网站客户尾款老不给怎么办百度推广年费多少钱
  • 想要将网站信息插到文本链接怎么做百度关键词搜索
  • 江苏网站备案要多久seo域名综合查询
  • 大型网站建设机构津seo快速排名
  • 建设证件查询官方网站宁波做网站的公司
  • 那些网站招聘在家里做的客服网店推广策略
  • 湘西 网站 建设 公司sem代运营托管公司
  • 用css为wordpress排版西安seo外包服务
  • vs2005做网站百度推广官方网站登录入口
  • 乐从网站建设公司北京seo优化推广
  • 如何在网上接做网站的小项目市场监督管理局电话
  • 淘宝购物站优化
  • 石家庄最新疫情轨迹河南网站优化公司哪家好
  • 网站色彩搭配服务器ip域名解析
  • 哪个网站专业做安防如何注册域名网站
  • 穆棱市住房和城乡建设局网站关键词词库
  • 成都网站建设市场什么是网络营销的核心
  • 深圳找人做网站廊坊优化外包
  • 衡阳市城市建设投资有限公司网站湖南企业seo优化报价
  • css做网站常用百度权重优化软件
  • 合合肥网站建设制作网站用什么软件
  • 杭州网站设计公司推荐网络推广与优化
  • 移动惠生活app下载网址荆门网站seo
  • 做网站很赚钱吗关键词自助优化
  • wordpress小工具里的用户中心南京谷歌优化
  • 网站开发中茶叶网络营销策划方案
  • 临海市住房与城乡建设规划局 网站目前最新的营销模式有哪些
  • 高校建设网站的特色如何建立一个网站