zoukankan      html  css  js  c++  java
  • 8.2.Task

    1. Task.Run()
      StackCrawlMark stackMark=StackCrawlMark.LookForMyCaller;
      return Task.InternalStartNew(null,action,null,default(CancellationToken),TaskScheduler.Default,TaskCreationOptions.DenyChildAttach,InternalTaskOptions.None,ref stackMark);

    2. Task.Factory
      private readonly static TaskFactory s_factory=new TaskFactory();
      return s_factory;

    3. TaskFactory.StartNew()
      StackCrawlMark stackMark=StackCrawlMark.LookForMyCaller;
      Task currTask=Task.InternalCurrent;
      return Task.InternalStartNew(currTask,action)

    4. TaskFactory.GetDefaultScheduler(Task currTask)
      if(m_defaultScheduler!=null)return m_defaultScheduler;
      return currTask.ExecutingTaskScheduler;
      return TaskScheduler.Default;

    Task.cs 7309行

    1. internal class Shared

    2. public enum TaskStatus

    1. created   //已创建没有列入计划执行
    2. waitingForActivation     //等待.net加入加入计划
    3. waitingToRun             //已列入计划,但是还未执行
    4. running                  //正在执行但是没有激素
    5. waitingforchildrentocomplete   //任务执行完毕,隐式等待子任务的完成
    6. runtocompletion  //任务全部顺利执行完毕
    7. canceled         //手动跑出OperationCanceledException 异常停止task
    8. faulted          //发生任何异常导致任务结束
    

    3. Task

    4. internal class SystemThreadingTasks_TaskDebugView

    5. internal class ParallerForReplicatingTask

    6. internal class ParallerForReplicaTask

    7. public enum TaskCreationOptions

    1. None
    2. PreferFairness
    3. LongRunning
    4. AttachedToParent
    5. DenyChildAttach
    6. HideScheduler
    7. RunContinuationsAsynchronously
    

    8. public enum InternalTaskOptions

    9. public enum TaskCountinuationOptions

    10. internal class StackGuard

    这就是
  • 相关阅读:
    Math.pow
    css3正方体
    制作一个百度换肤效果
    排他思想
    js栈和堆的区别
    js创建对象的几种方式(工厂模式、构造函数模式、原型模式)
    短网址
    this
    作用域
    JS 函数基础
  • 原文地址:https://www.cnblogs.com/zhangrCsharp/p/7695589.html
Copyright © 2011-2022 走看看