码迷,mamicode.com
首页 > Web开发 > 详细

.Net异步函数存在的限制

时间:2017-01-10 13:20:22      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:运行   in子句   unsafe   应用程序   集合   构造   moni   时间   ati   

本文摘录自CLR Via C# 第四版。

  异步函数存在以下限制:

    1、不能讲应用程序的Main方法转变成异步函数。另外,构造器、属性访问器方法和时间访问器方法不能转变成异步函数。

    2、异步函数不能使用任何out或ref参数。

    3、不能再catch,finally或unsafe快中使用await操作符。

    4、不能再await操作符之前获得一个支持县城所有权或递归的锁,并在await操作符之后释放它。这是因为await之前的代码由一个线程执行,之后的代码则由另一个线程执行。在C# lock语句中使用await,编译器会报错。如果显式调用Minitor的Enter和Exit方法,那么代码虽然能编译,但Monitor.Exit会在运行时抛出一个SynchronizationLockException。

    5、在查询表达式中,await操作符只能在初始from子句的第一个集合表达式中使用,或者在join子句的集合表达式中使用。

.Net异步函数存在的限制

标签:运行   in子句   unsafe   应用程序   集合   构造   moni   时间   ati   

原文地址:http://www.cnblogs.com/Herzog3/p/6268737.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!