我有以下情形:每次調用async void方法時是否創建一個新線程?
async void DoStuff() {
// ...
}
button1.Click += (s, p) => {
DoStuff();
};
我不知道當我打電話的async void
方法,而第一個呼叫仍然是不完整會發生什麼。 調用會在每次調用時創建一個新線程,還是調用會銷燬並覆蓋以前創建的線程?另外,如果前面的假設是正確的,將共享局部方法變量嗎?
編輯:
我誤解了async await
的事情,因爲在Windows 8的應用程序,它的行爲不同。如果您認爲調用異步方法與創建像我這樣的新線程相同,請參閱this clarifying aricle。
真的很不錯鏈接 –