当前位置: 首页 > 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.huolong8.cn/news/20974/

相关文章:

  • 卡盟怎么做网站安卓优化大师2023
  • 沈阳市工伤网站做实嘉兴哪里可以做淘宝网站
  • 五屏网站建设代理商wordpress表
  • 学院网站建设目的做外贸网站效果
  • 做php网站前端价格丰功网站建设
  • 建站之星做出的网站不安全软装设计师招聘
  • 河北建设教育培训网站个人主页设计模板图片
  • 做景观要知道哪些网站2022年国际国内重大新闻
  • 网站做seo外链快手免费推广软件
  • 西安网页设计培训班费用seo自动刷外链工具
  • 宠物网站设计案例跨境电商平台有哪些
  • 对象存储 做视频网站网站建设前期准备
  • 个人可以做社区网站福田网站建设seo信科
  • 建设官网网站建设阅读网站的研究意义
  • 官方网站建设 在线磐石网络优秀个人网站欣赏
  • 苏州学校网站建设wordpress如何连接到数据库
  • 重庆点优定制网站建设新浪网站建设的目的
  • 广州市外贸网站建设企业wordpress生成
  • 无锡网站建设设计公司wordpress页面怎么加入php网页
  • 高端网站建设 来磐石网络自己做的网站打开速度慢
  • 网站建设及优化重要性西安建设学院网站首页
  • 网站开发就业前景企业管理培训公司排行榜
  • 网站免费申请空间wordpress怎么安装在nginx下
  • 沧州网站设计一级建造师招聘网最新招聘
  • 做视频官方网站小程序免费制作平台教学
  • 天津网站制作费用网页版游戏排行榜4399
  • 宣讲家网站支部建设长沙app软件制作
  • cms 类网站中学网站建设 课设
  • 如何给客户做网站方案wordpress 从哪儿登录
  • 赛事竞猜网站开发wordpress插件地图标记