C#并行计算 Parallel.ForEach[通俗易懂]

C#并行计算 Parallel.ForEach[通俗易懂]C#并行计算Parallel.ForEach///<summary>///获取订单链接///</summary>publicvoidGetOrders(){GetToken();HttpHelperhttp=newHttpHelper();HttpItemitem=newHttpIte…

大家好,又见面了,我是你们的朋友全栈君。

C#并行计算 Parallel.ForEach

  1. /// <summary>  
    /// 获取订单链接  
    /// </summary>  
    public void GetOrders() {  
        GetToken();  
        HttpHelper http = new HttpHelper();  
        HttpItem item = new HttpItem();  
        item.URL = "https://merchant-api.jet.com/api/orders/{status}".Replace("{status}", "acknowledged");  
        item.Method = "get";  
        item.ResultCookieType = ResultCookieType.CookieCollection;  
        item.ContentType = "application/json";  
        item.Header.Add("Authorization", string.Format("bearer {0}", Token.id_token));  
        item.Header.Add("Accept-Encoding", "gzip, deflate");  
        item.PostEncoding = System.Text.Encoding.UTF8;  
        item.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; EmbeddedWB 14.52 from: http://www.bsalsa.com/ EmbeddedWB 14.52; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E; Tablet PC 2.0; TCO_20150304085044)";  
        item.KeepAlive = false;  
        item.Header.Add("Cache-Control", "no-cache");  
        HttpResult result = http.GetHtml(item);  
        OrdersUrl UrlInfo=result.Html.Str2Entity<OrdersUrl>();  
        //创建一个订单任务并发集合  
        ConcurrentQueue<OrderInfo> Queue = new ConcurrentQueue<OrderInfo>();  
        //并行计算 数据分区 均匀分布到各个内核  
        Parallel.ForEach(Partitioner.Create<string>(UrlInfo.Urls,true),url=> {  
            OrderInfo Order = GetOrderDetail(url);  
            Queue.Enqueue(Order);  
        });  
        Parallel.ForEach(Partitioner.Create<OrderInfo>(Queue.ToArray(),true),order=> {  
            SaveOrder(order);  
        });  
    }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161792.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2022最新ES面试题整理(Elasticsearch面试指南系列)「建议收藏」

    2022最新ES面试题整理(Elasticsearch面试指南系列)「建议收藏」Elasticsearch经典面试题:10/50

    2025年9月6日
    4
  • 微信小程序实例系列怎么做_小程序制作教程免费

    微信小程序实例系列怎么做_小程序制作教程免费下载微信小程序实现部分高德地图功能的DEMO下载微信小程序实现MUI的部分效果的DEMO下载更多微信小程序实例GITGIT地址https://github.com/Rattenking/WXTUI-DEMOGIT下载gitclonehttps://github.com/Rattenking/WXTUI-DEMO.git常见…

    2025年6月11日
    8
  • git查看用户名和修改用户名「建议收藏」

    git查看用户名和修改用户名「建议收藏」在和同事共同完成一个项目时,上传代码,用户名就得注意下,不然搞个昵称,都不知道是谁上传的简单写下查看用户名和邮箱地址:$gitconfiguser.name$gitconfiguser.email修改用户名和邮箱地址$gitconfig–globaluser.name”xxxx”Sgitconfig–globaluser.emai…

    2022年4月19日
    52
  • Maven配置环境变量后不起作用的原因「建议收藏」

    Maven配置环境变量后不起作用的原因「建议收藏」Maven配置环境变量后不起作用的原因一.首先去maven官网下载maven相关文件点击左侧download选项选择图片中的Binaryziparchive apache-maven-3.8.1-bin.zip进行下载并解压到本地这个是解压后的文件二.配置环境变量1.添加MAVEN_HOME环境变量D:\Java\maven\apache-maven-3.8.12.添加M2_HOME环境变量(后面学习Spring会用到,可以先不进行配置)D:\Java\maven\apa

    2022年7月25日
    78
  • centos7如何关闭linux防火墙(centos关闭防火墙)

    在某些场景中我们会希望能够关闭防火墙,比如ftp连不上,又不想在iptable中添加端口配置,那么我直接就把防火墙给关了。下面是學習啦小編收集整理的centos如何关闭防火墙,希望對大家有幫助~~centos关闭防火墙工具/原料操作系统:centos6.5方法/步骤查看防火墙状态:命令:/etc/init.d/iptablesstatus如果是开着显示内容类是截图临时关闭防火墙:命令:…

    2022年4月11日
    113
  • scp命令传文件

    scp命令传文件SCP进行文件传输1、基本语法:2、具体用法1、从本地将文件传输到服务器2、从本地将文件夹传输到服务器3、将服务器上的文件传输到本地4、将服务器上的文件夹传输到本地1、基本语法:Linuxscp命令用于Linux之间复制文件和目录。scp是securecopy的缩写,scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。scp是加密的,rcp是不加密的,scp是rcp的加强版。scp【本地或远程文件的路径】【服务器用户名】@【服务器地址】:【远程或

    2022年7月27日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号