我有以下情况:
async void DoStuff() {
// ...
}
button1.Click += (s, p) => {
DoStuff();
};
我不确定async void
在第一次调用仍未完成时调用方法时会发生什么。该调用会在每次调用时创建一个新线程,还是该调用会破坏并覆盖先前创建的线程?另外,如果前一个假设是正确的,是否会共享局部方法变量?
编辑:
我误解了这async await
件事,因为在 Windows 8 应用程序中,它的行为不同。如果您认为调用异步方法与创建新线程一样像我一样,请阅读这篇澄清文章。