Jedną z najfajniejszych rzeczy w C# 5.0 są słowa kluczowe async/await
oraz sposób, w jaki upraszcza on prace hydrauliczne, które musiałeś pisać z Task Parallel Library (TPL).Czy istnieje sposób na wymuszenie asynchronizacji/oczekiwania na kontynuację pierwszego dostępnego wątku?
Moje pytanie brzmi: jeśli masz kod agnostyczny wątku i uruchamiasz operację asynchroniczną w głównym wątku (czytaj: wątek UI), ale nie musisz przejmować się, czy kontynuacja przebiega w głównym wątku, to możesz Czy powinieneś powiedzieć paradygmatowi async/await
, że chcesz go kontynuować w pierwszym dostępnym wątku, nawet jeśli nie jest to główny wątek?
Sądzę, że możliwość wykonania tego znacznie zwiększyłaby wydajność niektórych scenariuszy, ale nie srebrną kulę.
Należy pamiętać, że posiadanie tej umiejętności jest bardzo ważne dla prawidłowego funkcjonowania w niektórych przypadkach, a nie tylko wydajności. Możesz uniknąć powstawania zakleszczeń, upewniając się, że pewne kontynuacje nie działają w przechwyconym kontekście. – Servy