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

    这就是
  • 相关阅读:
    PyQt4信号与槽
    Amazon Redshift数据库
    NoSQL数据库的认识
    如何划分子网
    VPC见解
    Linux之添加交换分区
    MySQL基础之 标准模式通配符
    MySQL基础之 LIKE操作符
    MySQL基础之 AND和OR运算符
    MySQL基础之 索引
  • 原文地址:https://www.cnblogs.com/zhangrCsharp/p/7695589.html
Copyright © 2011-2022 走看看