C# 异步方法理解

我自己对于异步方法的理解,着重于对于各个线程是怎么调度的理解,关于具体代码编写方面和细节讲述是没有的,以下内容如有错误,还请指正。

 

假设有两个命令调用,命令一和命令二,它们都在主线程。

 

假设有六个方法。方法一、二、三、四、六都是普通方法,且内部只有一个普通代码语句。方法五是异步方法,其内部有三个代码语句,语句一、三都是普通语句,语句二是带有await标识符的特殊语句,因为它是个耗时操作。

 

命令一对应方法一、二、三    ,  命令二对应方法四、五、六。

 

 

 

命令一启动:

 

              主线程

 

运行方法一中的语句一

 

运行方法二中的语句一

 

运行方法三中的语句一

 

执行结束

 

这是普通方法的运行规律,简单易懂。

 

 

 

命令二启动:

 

           主线程                                                                                                                             新开辟的线程

 

运行方法四中的语句一

 

运行方法五中的语句一

 

运行方法五中的语句二 ,将方法五在主线程挂起,    -------------------->   在新开辟的线程中运行语句二所代表的耗时操作

不再执行方法五内语句二之后的代码                                                                                                |

                                                                                                                                                         |

运行方法六中的语句一                                                                                                                     |

          |           等                                                                                                                               |          等 

          |                                                                                                                                              |

          |                                                                                                                                              |

          |                                                                                                                                              |

          |                                                                                                                                              |

          |                                                                                                                                              |

          |          待                                                                                                                                 |          待 

 

运行方法五中的语句三               <--------------------     方法五的语句二运行结束,重新恢复主线程中方法五的语句三的运行。

 

执行结束

 

总之,根据我自己的粗略测试,执行过程的确如此,如有错误,敬请指正。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值