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

沂南网站建设移动端网站开发项目报告

沂南网站建设,移动端网站开发项目报告,海口仿站定制模板建站,百度搜索引擎api一、基本介绍 TaskScheduler 是一个抽象类#xff0c;用于控制任务的执行方式#xff0c;特别是它们如何被安排到线程池中的线程上执行。 TaskScheduler 负责将 Task 对象排队并决定何时、以何种方式执行这些任务。 二、TaskScheduler的作用 调度任务#xff1a;将任务分配…一、基本介绍 TaskScheduler 是一个抽象类用于控制任务的执行方式特别是它们如何被安排到线程池中的线程上执行。 TaskScheduler 负责将 Task 对象排队并决定何时、以何种方式执行这些任务。 二、TaskScheduler的作用 调度任务将任务分配给线程池中的线程执行。 控制并发通过限制同时执行的任务数量来控制并发级别。 异常处理虽然不是直接由 TaskScheduler 处理异常但它通过控制任务的执行环境间接影响了异常的处理方式。 三、TaskScheduler的关键点 默认调度器大多数情况下任务默认在 TaskScheduler.Default 调度器上运行它通常与线程池中的线程关联。 自定义调度器你可以创建自定义的 TaskScheduler 来控制任务的执行方式例如限制任务并发数或在特定的线程上运行任务。 任务调度你可以使用 TaskScheduler 来调度任务的执行例如使用 Task.Run 方法时可以指定调度器。 同步上下文在 UI 应用程序中TaskScheduler 通常与 SynchronizationContext 一起使用以确保任务在正确的线程上执行例如在 UI 线程上更新 UI 元素。 任务调度器的层次结构TaskScheduler 可以有一个或多个父调度器这允许你创建复杂的任务调度层次结构。 四、TaskScheduler的简单例子 using System; using System.Threading.Tasks;class Program {static void Main(){// 获取默认的任务调度器TaskScheduler defaultScheduler TaskScheduler.Default;// 创建一个任务Task myTask new Task(() {Console.WriteLine(Task is running on: TaskScheduler.Current.ToString());});// 在默认调度器上运行任务myTask.Start(defaultScheduler);// 等待任务完成myTask.Wait();} } 五、TaskScheduler的完整例子 步骤 1: 创建自定义 TaskScheduler 类 首先我们需要创建一个继承自 TaskScheduler 的类并实现必要的方法。 using System; using System.Collections.Concurrent; using System.Threading; using System.Threading.Tasks;public class LimitedConcurrencyLevelTaskScheduler : TaskScheduler {private readonly int _maxDegreeOfParallelism;private readonly ConcurrentQueueTask _tasks new ConcurrentQueueTask();private readonly CancellationTokenSource _cts new CancellationTokenSource();private readonly object _lockObject new object();private int _currentActiveTasks;public LimitedConcurrencyLevelTaskScheduler(int maxDegreeOfParallelism){if (maxDegreeOfParallelism 0) throw new ArgumentOutOfRangeException(maxDegreeOfParallelism);_maxDegreeOfParallelism maxDegreeOfParallelism;}protected override void QueueTask(Task task){_tasks.Enqueue(task);}protected override bool TryExecuteTaskInline(Task task, bool taskWasPreviouslyQueued){return false;}protected override IEnumerableTask GetScheduledTasks(){return _tasks;}public void Start(){for (int i 0; i _maxDegreeOfParallelism; i){Thread thread new Thread(() {try{while (!_tasks.IsEmpty || !_cts.Token.IsCancellationRequested){Task task;if (_tasks.TryDequeue(out task)){base.TryExecuteTask(task);}else{Thread.Yield();}}}catch (Exception ex){Console.WriteLine(Thread encountered an exception: ex.Message);}});thread.IsBackground true;thread.Start();}}public void Stop(){_cts.Cancel();} } 步骤 2: 使用自定义 TaskScheduler 现在我们可以使用这个自定义的 TaskScheduler 来调度任务。 class Program {static void Main(string[] args){LimitedConcurrencyLevelTaskScheduler scheduler new LimitedConcurrencyLevelTaskScheduler(2);scheduler.Start();for (int i 0; i 10; i){Task.Run(() DoWork(i), scheduler);}Console.WriteLine(Press any key to exit...);Console.ReadKey();scheduler.Stop();}static void DoWork(int workItemId){Console.WriteLine($Work item {workItemId} is running on thread {Thread.CurrentThread.ManagedThreadId});Thread.Sleep(1000); // Simulate work by sleeping} } 解释 LimitedConcurrencyLevelTaskScheduler这是一个自定义的 TaskScheduler它接受一个参数 maxDegreeOfParallelism这定义了同时运行的最大任务数。 QueueTask这个方法将任务添加到一个线程安全的队列中。 TryExecuteTaskInline这个方法始终返回 false因为我们不在调用线程上直接执行任务。 GetScheduledTasks返回当前队列中的任务。 Start启动指定数量的线程来处理队列中的任务。 Stop停止所有线程并取消所有任务。
文章转载自:
http://www.morning.pcqxr.cn.gov.cn.pcqxr.cn
http://www.morning.wwjft.cn.gov.cn.wwjft.cn
http://www.morning.brjq.cn.gov.cn.brjq.cn
http://www.morning.tqjks.cn.gov.cn.tqjks.cn
http://www.morning.wiitw.com.gov.cn.wiitw.com
http://www.morning.wtnyg.cn.gov.cn.wtnyg.cn
http://www.morning.xjpnq.cn.gov.cn.xjpnq.cn
http://www.morning.smxyw.cn.gov.cn.smxyw.cn
http://www.morning.yfmlj.cn.gov.cn.yfmlj.cn
http://www.morning.sfnjr.cn.gov.cn.sfnjr.cn
http://www.morning.llgpk.cn.gov.cn.llgpk.cn
http://www.morning.mkyxp.cn.gov.cn.mkyxp.cn
http://www.morning.bjjrtcsl.com.gov.cn.bjjrtcsl.com
http://www.morning.rbzht.cn.gov.cn.rbzht.cn
http://www.morning.kbgzj.cn.gov.cn.kbgzj.cn
http://www.morning.lfqtp.cn.gov.cn.lfqtp.cn
http://www.morning.weiwt.com.gov.cn.weiwt.com
http://www.morning.ngzkt.cn.gov.cn.ngzkt.cn
http://www.morning.stfdh.cn.gov.cn.stfdh.cn
http://www.morning.qfnrx.cn.gov.cn.qfnrx.cn
http://www.morning.ppwdh.cn.gov.cn.ppwdh.cn
http://www.morning.rfwqt.cn.gov.cn.rfwqt.cn
http://www.morning.wslpk.cn.gov.cn.wslpk.cn
http://www.morning.nzlqt.cn.gov.cn.nzlqt.cn
http://www.morning.ckrnq.cn.gov.cn.ckrnq.cn
http://www.morning.xjnjb.cn.gov.cn.xjnjb.cn
http://www.morning.xnkb.cn.gov.cn.xnkb.cn
http://www.morning.gassnw.com.gov.cn.gassnw.com
http://www.morning.yqgbw.cn.gov.cn.yqgbw.cn
http://www.morning.jbnss.cn.gov.cn.jbnss.cn
http://www.morning.bxyzr.cn.gov.cn.bxyzr.cn
http://www.morning.cfnsn.cn.gov.cn.cfnsn.cn
http://www.morning.rlrxh.cn.gov.cn.rlrxh.cn
http://www.morning.c7629.cn.gov.cn.c7629.cn
http://www.morning.xmrmk.cn.gov.cn.xmrmk.cn
http://www.morning.zxfdq.cn.gov.cn.zxfdq.cn
http://www.morning.rjrnx.cn.gov.cn.rjrnx.cn
http://www.morning.lbpqk.cn.gov.cn.lbpqk.cn
http://www.morning.rkqqf.cn.gov.cn.rkqqf.cn
http://www.morning.sjsks.cn.gov.cn.sjsks.cn
http://www.morning.zybdj.cn.gov.cn.zybdj.cn
http://www.morning.bmgdl.cn.gov.cn.bmgdl.cn
http://www.morning.rqdx.cn.gov.cn.rqdx.cn
http://www.morning.ngpdk.cn.gov.cn.ngpdk.cn
http://www.morning.npmx.cn.gov.cn.npmx.cn
http://www.morning.jbhhj.cn.gov.cn.jbhhj.cn
http://www.morning.lbjdx.cn.gov.cn.lbjdx.cn
http://www.morning.zbnts.cn.gov.cn.zbnts.cn
http://www.morning.ckhpg.cn.gov.cn.ckhpg.cn
http://www.morning.xldpm.cn.gov.cn.xldpm.cn
http://www.morning.klwxh.cn.gov.cn.klwxh.cn
http://www.morning.litao7.cn.gov.cn.litao7.cn
http://www.morning.dzgyr.cn.gov.cn.dzgyr.cn
http://www.morning.ttdxn.cn.gov.cn.ttdxn.cn
http://www.morning.tslfz.cn.gov.cn.tslfz.cn
http://www.morning.gjmbk.cn.gov.cn.gjmbk.cn
http://www.morning.rswfj.cn.gov.cn.rswfj.cn
http://www.morning.ljllt.cn.gov.cn.ljllt.cn
http://www.morning.xbdrc.cn.gov.cn.xbdrc.cn
http://www.morning.nrgdc.cn.gov.cn.nrgdc.cn
http://www.morning.ggxbyhk.cn.gov.cn.ggxbyhk.cn
http://www.morning.bgqqr.cn.gov.cn.bgqqr.cn
http://www.morning.mlntx.cn.gov.cn.mlntx.cn
http://www.morning.srky.cn.gov.cn.srky.cn
http://www.morning.gfrtg.com.gov.cn.gfrtg.com
http://www.morning.dkzrs.cn.gov.cn.dkzrs.cn
http://www.morning.rglzy.cn.gov.cn.rglzy.cn
http://www.morning.pnmgr.cn.gov.cn.pnmgr.cn
http://www.morning.rxzcl.cn.gov.cn.rxzcl.cn
http://www.morning.rknhd.cn.gov.cn.rknhd.cn
http://www.morning.ybqlb.cn.gov.cn.ybqlb.cn
http://www.morning.tqsmc.cn.gov.cn.tqsmc.cn
http://www.morning.thbkc.cn.gov.cn.thbkc.cn
http://www.morning.ljdjn.cn.gov.cn.ljdjn.cn
http://www.morning.ytbr.cn.gov.cn.ytbr.cn
http://www.morning.hrypl.cn.gov.cn.hrypl.cn
http://www.morning.yxyyp.cn.gov.cn.yxyyp.cn
http://www.morning.fkffr.cn.gov.cn.fkffr.cn
http://www.morning.crfjj.cn.gov.cn.crfjj.cn
http://www.morning.tngdn.cn.gov.cn.tngdn.cn
http://www.tj-hxxt.cn/news/276095.html

相关文章:

  • 用me做后缀的网站广州seo外包多少钱
  • 兼职做网站的费用公司公众号怎么制作
  • 深圳网站建设公司哪家比较好wordpress 人力资源
  • 做网站一天忙吗网站图片移动怎么做的
  • 自己做的网站怎么添加文档iis7.5 网站配置
  • 网站导航栏怎么做简单wordpress m编辑器
  • 关于网站建设的新闻个人网页设计方案
  • 做英语教具的网站赶集网招聘
  • 大淘客怎样做网站深圳罗湖网站制作公司
  • 手机创建个人网站 免费升华网络推广软件
  • 网站贸易表格怎么做wordpress架设
  • 个人注册网站怎么注册免费的行情软件下载安装
  • 网站注册怎么注销送菜上门网站app如何做
  • 中国石家庄网站ps网站轮播图怎么做的
  • 门户网站团队建设国家住建网查企业资质
  • 网站建设 信科网络直播网站做收入流水
  • 做网站没有手机端郑州网站建设+论坛
  • 企业微信公众平台开发优化培训课程
  • 时尚网站策划jsp网站开发实例视频教程
  • 做淘宝客优惠券网站必须是企业吗自定义图片wordpress
  • 手机什么网站可以设计楼房华为弹性云做网站
  • 精准扶贫建设网站的目的甘肃住房城乡建设厅网站首页
  • 电商网站seo怎么做鹤壁做网站哪家便宜
  • 做企业网站的好处设计培训it培训
  • 网站详情页用哪个软件做软件开发和研发的区别
  • 深圳网站设计 制作元免费可商用图片素材网站
  • app制作和网站一样吗美食网站建设规划书需求分析
  • 西宁建一个网站公司佛山网站设计特色
  • 去电商公司上班怎么样惠州百度seo哪家好
  • 网站建设和微信小程序长春做网站公司