чи може це повністю замінити старий спосіб використання теми?
Ні. Нитка може зробити ще багато корисних речей. Await спеціально розроблений , щоб мати справу з чим - то , що знайшли час, найчастіше запиту введення / виводу. Як правило, це робилося з зворотним дзвоном, коли запит вводу / виводу був завершений. Написати код, який спирається на ці зворотні дзвінки, досить складно, очікування значно спрощує його.
здатний робити те, що коли-небудь Нитка може робити асинхронно?
Грубо. Очікуйте просто піклуватися про затримку, інакше це не робить нічого, що робить нитка. Вираз очікування , що знаходиться праворуч від ключового слова очікування, - це те, що робить роботу. В ідеалі він взагалі не використовує потік, він публікує запит драйвера, і як тільки драйвер завершує передачу даних, він генерує зворотний виклик повідомлення про завершення. Мережі - це найпоширеніший спосіб використання, затримки в сотні мілісекунд є загальними і неминучий побічний ефект послуг, що переходять з робочого столу чи локальної мережі в "хмару". Використання таких сервісів синхронно зробить інтерфейс користувача безвідмовним.
може використовуватися лише з деякими методами, такими як WebClient.DownloadStringAsync
Ні. Ви можете використовувати його з будь-яким методом, який повертає завдання. Методи XxxxAsync () - це лише попередньо підготовлені методи в рамках .NET для звичайних операцій, які потребують часу. Як і завантаження даних з веб-сервера.