C#异步编程

既然有了多线程为什么还需要异步

      异步 并不意味者多线程,单线程同样可以异步

  异步默认借助线程池

      多线程经常阻塞,二异步要求不阻塞
多线程与异步的使用场景不同

   多线程:

             适合CPU 密集型操作  适合长期运行任务 线程的创建与开销较大 提供更底层的控制,操作线程,锁信号量 线程不易与传参及返回     线程的代码书写繁琐

    异步:

           适合IO 密集型操作         适合短暂的小任务          避免线程阻塞,提高系统的响应能力

--------------------------------

什么是异步任务(Task)

   1.异步任务的各种状态

           1.1正在运行,完成,结果,报错等

        Created -- WaitingToRun --  Running -- RanToCompletion  / WaitingForActivation  WaitingForChildrenToComplete  Canceled  Faulted

    1.2 ValueTask 值类型版本

     

posted @ 2024-04-23 17:51  jackwu74  阅读(57)  评论(0)    收藏  举报