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

娱乐建设网站国外大型购物网站

娱乐建设网站,国外大型购物网站,外网怎么进入,网站空间免费申请一. 背景 揭秘#xff1a; 在前面的章节介绍过#xff0c;Task出现之前#xff0c;微软的多线程处理方式有#xff1a;Thread→ThreadPool→委托的异步调用#xff0c;虽然也可以基本业务需要的多线程场景#xff0c;但它们在多个线程的等待处理方面、资源占用方面、线程…一. 背景 揭秘   在前面的章节介绍过Task出现之前微软的多线程处理方式有Thread→ThreadPool→委托的异步调用虽然也可以基本业务需要的多线程场景但它们在多个线程的等待处理方面、资源占用方面、线程延续和阻塞方面、线程的取消方面等都显得比较笨拙在面对复杂的业务场景下显得有点捉襟见肘了。   正是在这种背景下Task应运而生。   Task是微软在.Net 4.0时代推出来的也是微软极力推荐的一种多线程的处理方式Task看起来像一个Thread实际上它是在ThreadPool的基础上进行的封装Task的控制和扩展性很强在线程的延续、阻塞、取消、超时等方面远胜于Thread和ThreadPool。   二. Task的4种启动方式 概要    Task的启动有4种方式其中3种异步启动开启一个新线程1种同步启动的方式有点和委托类似BeginInvoke异步启动Invoke同步启动分别是实例化的方式Start方法启动、Task下Run方法启动、TaskFactory工厂的StartNew方法启动、Task下的同步方法RunSynchronously 启动。 1. 实例化的方式启动,调用Start方法 Task的构造函数中的参数是Action委托(注不是Action多个重载)所以直接使用 (){   }的方式传参简洁明了然后调用Start方式启动。 2. 调用Task类下的静态方法Run进行启动 使用该方式启动更加简洁不需要实例化也不需要调用Start方法Run方法直接通过Action委托的方式进行传参即可即:  (){} 。 3. TaskFactory工厂启动 使用TaskFactory工厂的StartNew方法启动其中TaskFactory工厂可以直接实例化或者 Task.Factory (推荐)。 4. 实例化方式RunSynchronously同步启动 Task实例化的方式然后调用同步方法RunSynchronously 进行线程启动。(PS: 类似委托开启线程BeginInvoke是异步而Invoke是同步) 三. Task的线程等待和延续 揭秘   线程等待和延续通常情况放在一起来说在同步方法中即在单线程中业务代码块按照从上往下的顺序执行下面的代码块必须要等上面的代码块执行完毕后才能继续执行这本身就是一种等待和延续只不过是单线程内的等待和延续。   同理来到多线程领域这里的等待就不单单局限于代码块之间的等待和延续了而是上升到某个线程 要等待 另外一个线程执行完毕后方能执行这里特别说明一下前面的章节提到线程等待基本上都是主线程在等子线程当然完全可能是子线程之间的相互等待和延续(实际上这种情况更多)。   Task下的线程等待和延续主要以下几类   ①. Wait针对单个Task的实例可以task1.wait进行线程等待.  Task的实例方法   ②. WaitAny执行的线程等待其中任何一个线程执行完毕即可执行(如果主线程执行,则卡主线程)  Task的静态方法   ③. WaitAll执行的线程等待其中所有线程执行完毕方可执行(如果主线程执行,则卡主线程)       Task的静态方法   ④. WhenAny与下面ContinueWith配合执行,当传入的线程中任何一个线程执行完毕继续执行ContinueWith中的任务(属于开启新线程不卡主线程)   Task的静态方法   ⑤. WhenAll与下面ContinueWith配合执行,当传入的线程中所有线程执行完毕继续执行ContinueWith中的任务(属于开启新线程不卡主线程)     Task的静态方法   ⑥. ContinueWith和上面WhenAny和WhenAll配合使用    Task的实例方法 1. WaitAny执行的线程等待其中任何一个线程执行完毕即可执行 这里给出线程等待加入集合中的代码下面的线程等待通用这一部分代码将不再列出。 2. WaitAll执行的线程等待其中所有线程执行完毕方可执行 3. WhenAnyContinueWith 当其中一个线程执行完成后新开启了一个线程执行继续执行新业务所以执行过程中不卡主线程。 4. WhenAllContinueWith 当其中所有线程执行完成后新开启了一个线程执行继续执行新业务所以执行过程中不卡主线程。 四. TaskFactory的线程等待 说明 TaskFactory可以开启线程当然也对应的线程的等待和延续。   ①ContinueWhenAny等价于Task的WhenAnyContinueWith   ②ContinueWhenAll等价于Task的WhenAllContinueWith 1. ContinueWhenAny 2. ContinueWhenAll
http://www.pierceye.com/news/334353/

相关文章:

  • 工程科技 网站设计广东做seo的公司
  • 外贸都是在哪些网站做怎么做个手机版的网站
  • 北京社保网站做社保增减员锦绣大地seo官网
  • 分析影响网站排名的因素河南省住房和城乡建设厅网站文件
  • 宁城网站建设公司引流最好的推广方法
  • 辽宁省建设厅官方网站网站免费正能量直接进入浏览器下载安装
  • 怎么给公司建网站广州互联网营销师培训
  • 用阿里云做网站注意事项绵阳的网站建设公司哪家好
  • 电商网站设计工作内容深圳国际设计学院
  • 国内界面优秀的网站科技有限公司名字叫什么好
  • 网站底部悬浮代码搭建网站的主要风险
  • 长安网站建设公司常做网站首页的文件名
  • 学网站开发的能找什么工作赣州网站设计较好的公司
  • 网站建设接单微信营销软件收费排行榜
  • 佛山网站建设公司排名佛山微网站推广哪家专业
  • 招商网站建设网设备 光速东莞网站建设
  • 网站建设公司如何wordpress用多大主机
  • 东莞网站建设规范网页美工设计(第2版)素材
  • 论文 网站建设值得推荐的深圳app外包公司
  • 建网站的电脑可以换位置吗莆田建站培训
  • 外贸必看网站离职模板网
  • 内网网站建设正能量不良网站软件下载
  • 制作手机广告的网站吉林省建设厅网站评职称系统
  • 云南建设厅网站资质证书查询自动生成app
  • 柳州正规网站制作公司大连建设厅网站
  • 北京市保障房建设投资中心网站瘫痪广州大型网站建设公司排名
  • 做电池网站的引导页室内设计联盟效果图
  • 查询备案网站成绩查询系统网站开发
  • 网站后台编辑器上传不了图片建筑工程承包网app
  • wordpress多站点插件168工程信息网