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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • org.apache.jasperException(could not initialize class org)

    org.apache.jasper.JasperException: java.lang.NullPointerExceptionorg.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:542)org.apache.jasper.servlet.JspServletWrapper…

    2022年4月16日
    43
  • linux文件重命名rename「建议收藏」

    linux文件重命名rename「建议收藏」linux下rename提供了有效的方法来处理重命名1.修改后缀名(eg.将当前目录下以.log为后缀的文件为以.txt为后缀)rename.log.txt*.logorrename’s/.log$/.txt/’*.log2.删除后缀名(eg.将当前目录下.txt文件的后缀)rename’s/.txt$//’*.txt3.添加后缀名(eg.给当前目录下的

    2025年10月21日
    4
  • win10 设定计划任务时提示所指定的账户名称无效,如何解决?「建议收藏」

    win10 设定计划任务时提示所指定的账户名称无效,如何解决?「建议收藏」我想把我的python爬虫脚本设定为自动定时执行,我的设备是win10操作系统,这将用到系统自带的计划任务功能。且我希望不管用户是否登录都要运行该定时任务,但在设置计划任务的属性时,遇到一个报错:所指定的账户名称无效。该报错是如何发生的,以及如何解决?记录如下:报错是如何发生的?如下图所示,设置计划任务的属性:如果仅勾选“只在用户登录时运行”,点击“确定”后直接创建成功。…

    2022年6月10日
    131
  • fedora详细安装教程_oracle查看数据库磁盘

    fedora详细安装教程_oracle查看数据库磁盘via:http://www.helpsworld.org/blog/?p=391Fedora12发布有几天了,增加的的新功能还有一系列的改进非常的有吸引力。由于最近没有充分的时间折腾,所以还没有进行安装。不过今天还是在虚拟机上安装了这个新系统。其实也是为了先熟悉一下,为过几天真正安装做些准备。1.安装条件:1.1 VirtualBox虚拟机,8G虚拟磁盘已安装Fed

    2022年9月20日
    2
  • 安捷伦频谱仪的使用方法图解_安捷伦E4402B频谱仪使用说明

    安捷伦频谱仪的使用方法图解_安捷伦E4402B频谱仪使用说明标签:安捷伦仪器使用说明安捷伦仪器使用说明本资料为安捷伦频谱仪器使用说明,资料用于学习交流不能以任何形式商用。文档内容节选AgilentE4402BESAESeriesSpectrumAnalyzer使用方法简介宁波之猫2009617…

    2022年8月11日
    6
  • html asp 简单 登录系统,asp用session做登录页面

    html asp 简单 登录系统,asp用session做登录页面asp写登陆页面。利用session记录用户信息。先建好数据库连接文件,命名为conn.asp。1:登录页面login.htm登录用户名:密码:2:登录检测页面go.aspasp网页登录后显示用户名,怎样用session就好像在图片欢迎登录中间显示每个登录不同的用户名asp中SESSION具体用法ASP中session的用法。CSS布局HTML小编今天和大家分享ASP中…

    2022年7月15日
    17

发表回复

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

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