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

网站多久备案一次电子商务平台信息系统建设

网站多久备案一次,电子商务平台信息系统建设,模版做网站多少钱,网站建设域名多少钱一. 整体说明 揭秘#xff1a; 该章节的性质和上一个章节类似#xff0c;也是一个扩展的章节#xff0c;主要来研究Task类下的实例方法ContinueWith中的参数TaskContinuationOptions。 通过F12查看TaskContinuationOptions的源码#xff0c;知道主要有这么几个参数#xf…一. 整体说明 揭秘   该章节的性质和上一个章节类似也是一个扩展的章节主要来研究Task类下的实例方法ContinueWith中的参数TaskContinuationOptions。   通过F12查看TaskContinuationOptions的源码知道主要有这么几个参数   ①. LazyCancellation在延续取消的情况下防止延续的完成直到完成先前的任务。     (下面的例子task2取消原先的延续关系不复存在task1和task3可以并行执行)   ②. ExecuteSynchronously希望执行前面那个task的thread也在执行本延续任务     (下面的例子执行task2的Thread和执行task1的Thread是同一个所有二者的线程id相同)   ③. NotOnRanToCompletion和OnlyOnRanToCompletion     NotOnRanToCompletion延续任务必须在前面task非完成状态才能执行     OnlyOnRanToCompletion延续任务必须在前面task完成状态才能执行     (下面例子注释掉异常的这句代码task2不能执行task3能执行不注释task2能执行task3不能执行) 源码如下 1 [Serializable]2 [Flags]3 public enum TaskContinuationOptions4 {5 // 摘要: 6 // Default Continue on any, no task options, run asynchronously 指定应使用默认行为。7 // 默认情况下完成前面的任务之后将安排运行延续任务而不考虑前面任务的最终 System.Threading.Tasks.TaskStatus。8 None 0,9 // 10 // 摘要: 11 // 提示 System.Threading.Tasks.TaskScheduler 以一种尽可能公平的方式安排任务这意味着较早安排的任务将更可能较早运行而较晚安排运行的任务将更可能较晚运行。 12 PreferFairness 1, 13 // 14 // 摘要: 15 // 指定某个任务将是运行时间长、粗粒度的操作。 它会向 System.Threading.Tasks.TaskScheduler 提示过度订阅可能是合理的。 16 LongRunning 2, 17 // 18 // 摘要: 19 // 指定将任务附加到任务层次结构中的某个父级。 20 AttachedToParent 4, 21 // 22 // 摘要: 23 // 如果尝试附有子任务到创建的任务指定 System.InvalidOperationException 将被引发。 24 DenyChildAttach 8, 25 // 26 // 摘要: 27 // 防止环境计划程序被视为已创建任务的当前计划程序。 这意味着像 StartNew 或 ContinueWith 创建任务的执行操作将被视为 System.Threading.Tasks.TaskScheduler.Default 28 // 当前计划程序。 29 HideScheduler 16, 30 // 31 // 摘要: 32 // 在延续取消的情况下防止延续的完成直到完成先前的任务。 33 LazyCancellation 32, 34 // 35 // 摘要: 36 // 指定不应在延续任务前面的任务已完成运行的情况下安排延续任务。 此选项对多任务延续无效。 37 NotOnRanToCompletion 65536, 38 // 39 // 摘要: 40 // 指定不应在延续任务前面的任务引发了未处理异常的情况下安排延续任务。 此选项对多任务延续无效。 41 NotOnFaulted 131072, 42 // 43 // 摘要: 44 // 指定只应在延续任务前面的任务已取消的情况下才安排延续任务。 此选项对多任务延续无效。 45 OnlyOnCanceled 196608, 46 // 47 // 摘要: 48 // 指定不应在延续任务前面的任务已取消的情况下安排延续任务。 此选项对多任务延续无效。 49 NotOnCanceled 262144, 50 // 51 // 摘要: 52 // 指定只应在延续任务前面的任务引发了未处理异常的情况下才安排延续任务。 此选项对多任务延续无效。 53 OnlyOnFaulted 327680, 54 // 55 // 摘要: 56 // 指定只应在延续任务前面的任务已完成运行的情况下才安排延续任务。 此选项对多任务延续无效。 57 OnlyOnRanToCompletion 393216, 58 // 59 // 摘要: 60 // 指定应同步执行延续任务。 指定此选项后延续任务将在导致前面的任务转换为其最终状态的相同线程上运行。 如果在创建延续任务时已经完成前面的任务则延续任务将在创建此延续任务的线程上运行。 61 // 只应同步执行运行时间非常短的延续任务。 62 ExecuteSynchronously 524288, 63 } 二. 实际测试 下面通过代码来说明默认情况下、LazyCancellation、ExecuteSynchronously、NotOnRanToCompletion和OnlyOnRanToCompletion的作用和效果。 1. 默认情况 默认情况下task1执行完后→task2→task2执行完后→task3。   1 {2 Task task1 new Task(() 3 {4 Thread.Sleep(1000);5 Console.WriteLine(task1 tid{0} dt{1}, Thread.CurrentThread.ManagedThreadId, DateTime.Now);6 });7 8 var task2 task1.ContinueWith(t 9 { 10 Console.WriteLine(task2 tid{0} dt{1}, Thread.CurrentThread.ManagedThreadId, DateTime.Now); 11 }); 12 13 var task3 task2.ContinueWith(t 14 { 15 Console.WriteLine(task3 tid{0} dt{1} {2}, Thread.CurrentThread.ManagedThreadId, DateTime.Now, task2.Status); 16 }); 17 18 task1.Start(); 19 20 } 运行结果 task1执行完后→ task2执行→task2执行完后→ task3执行。 2. LazyCancellation 作用取消该线程该线程的前一个线程和后一个线程并行执行。 1 {2 CancellationTokenSource source new CancellationTokenSource();3 source.Cancel();4 5 Task task1 new Task(() 6 {7 Thread.Sleep(1000);8 Console.WriteLine(task1 tid{0} dt{1}, Thread.CurrentThread.ManagedThreadId, DateTime.Now);9 }); 10 11 var task2 task1.ContinueWith(t 12 { 13 Console.WriteLine(task2 tid{0} dt{1}, Thread.CurrentThread.ManagedThreadId, DateTime.Now); 14 }, source.Token, TaskContinuationOptions.LazyCancellation, TaskScheduler.Current); 15 16 var task3 task2.ContinueWith(t 17 { 18 Console.WriteLine(task3 tid{0} dt{1} {2}, Thread.CurrentThread.ManagedThreadId, DateTime.Now, task2.Status); 19 }); 20 21 task1.Start(); 22 23 } 运行结果 task2线程已经被取消task1线程和task2线程并行执行。 3. ExecuteSynchronously 作用希望执行前面那个task的thread也在执行本延续任务。 1 {2 Task task1 new Task(() 3 {4 Thread.Sleep(1000);5 Console.WriteLine(task1 tid{0} dt{1}, Thread.CurrentThread.ManagedThreadId, DateTime.Now);6 });7 8 var task2 task1.ContinueWith(t 9 { 10 Console.WriteLine(task2 tid{0} dt{1}, Thread.CurrentThread.ManagedThreadId, DateTime.Now); 11 }, TaskContinuationOptions.ExecuteSynchronously); 12 13 task1.Start(); 14 } 结果task1和task2线程的线程id相同。 4. NotOnRanToCompletion和OnlyOnRanToCompletion  NotOnRanToCompletion延续任务必须在前面task非完成状态才能执行。 OnlyOnRanToCompletion延续任务必须在前面task完成状态才能执行。 {Task task1 new Task(() {Thread.Sleep(1000);Console.WriteLine(task1 tid{0} dt{1}, Thread.CurrentThread.ManagedThreadId, DateTime.Now);//手动制造异常表示不能执行完毕//注释掉这句话task2不能执行task3能执行//不注释task2能执行task3不能执行//throw new Exception(hello world);});var task2 task1.ContinueWith(t {Console.WriteLine(task2 tid{0} dt{1}, Thread.CurrentThread.ManagedThreadId, DateTime.Now);}, TaskContinuationOptions.NotOnRanToCompletion);var task3 task1.ContinueWith(t {Console.WriteLine(task3 tid{0} dt{1}, Thread.CurrentThread.ManagedThreadId, DateTime.Now);}, TaskContinuationOptions.OnlyOnRanToCompletion);task1.Start(); } 分析task2和task3均为task的延续线程当task1报错时候task2执行task3不能执行当task1正常时候task2不能执行task3能执行。 task1报错时的运行结果 task2正常时的运行结果
http://www.zqtcl.cn/news/878837/

相关文章:

  • 网站开发方面的文献自己怎么建个免费网站吗
  • 建设网站前的市场分析百度竞价推广是什么
  • 专门做照片书的网站阳谷聊城网站优化
  • 国际贸易相关网站网站建设的目标与思路
  • 小型网站建设费用云南网站建设企业推荐
  • 设备租赁业务网站如何做看板娘 wordpress
  • 上海网站设计工作室二手交易网站建设目标
  • 深圳智能响应网站建设平面设计基础教程
  • 网站建设 推广全流程案例分析网站
  • 企业建网站多少钱怎样做网站挣钱
  • 经营性质的网站asp.ne做网站
  • 天津都有哪些制作网站开网站挣不挣钱
  • 网站建设云技术公司推荐重庆网页设计培训
  • 做房产网站不备案可以吗北京爱空间装修公司
  • 手机网站是用什么开发的厦门公司网站制作流程
  • 网站是广西住房和城乡建设厅wordpress插件数据库存在哪
  • 网站图片如何做链接网站制作及管理教程
  • 企业建立企业网站有哪些优势?app下载排行榜
  • 广州天河网站建设gif在线制作
  • 建个大型网站要多少钱小程序开发公司简介
  • 定制建设网站商洛做网站的公司
  • 网站建设目标活动策划书模板
  • 手机网站空间申请做网站需要空间跟域名吗
  • 洛阳专业网站设计开发制作建站公司长沙网站制作app开发公司
  • 王也个人资料网页网络优化
  • 公司网站制作工作室如何重装一下wordpress
  • 域名服务商网站建一个网站多少钱
  • 北京哪家制作网站好淄博优化推广
  • 许昌网站建设科技公司公司查询网站查询系统
  • 老网站权重低的原因网站建设公司使用图片侵权使用者有无责任