【发布时间】:2013-08-17 05:52:28
【问题描述】:
在async 方法中,所有局部变量都被存储起来,这样当await 之后继续的任何线程都可以访问这些值。在await 之后有什么方法可以指出真正需要哪些值?
例如:
var firstName = "Karl";
var lastName = "Anderson";
var street1 = "123 Nowhere Street";
var street2 = "Apt 1-A";
var city = "Beverly Hills";
var state = "California";
var zip = "90210";
await MyTaskHere();
Console.WriteLine(firstName);
Console.WriteLine(city);
所以我声明了 7 个局部变量,但在 await 之后只使用其中的 2 个,是否有任何属性可以装饰我的变量以表明我打算只在await 完成了吗?
注意:这是一个人为的示例,但如果在下一个线程完成工作时不需要存储潜在的大数据块,那么它似乎是有益的。
【问题讨论】:
-
我认为这件事最好留给编译器。
标签: c# multithreading async-await c#-5.0