【发布时间】:2015-05-06 11:16:26
【问题描述】:
最近几天我一直在阅读有关 async/await 的内容。昨天我在第 9 频道找到了this video,这让我对某些事情感到好奇。请考虑下面的幻灯片。
除了 Lucian Wischik 解决的问题之外,我还想知道变量赋值。假设我们将async void 更改为async Task,并在SendData 调用之前添加了await。这使我们能够获取流,分配变量m_GetResponse,等待两秒钟并打印它。但是变量会发生什么?它可以由与读取不同的线程编写。我们是否需要某种内存屏障,使变量易失,或者其他什么?当我们打印它时它仍然是空的吗?
【问题讨论】:
-
我发现这两个答案都一样好,但我不能同时接受这两个答案。对此感到抱歉。 =)
-
async-await对并发没有任何作用。这本身就是另一个问题。
标签: c# asynchronous thread-safety async-await