Próbuję korzystać z nowych funkcji asynchronicznych i mam nadzieję, że rozwiązanie mojego problemu pomoże innym w przyszłości. To jest mój kod, który działa: async function asyncGenerator() { // other code while (goOn) { // other code var fileList = await listFiles(nextPageToken); var parents = await requestParents(fileList); // other code } …
Próbuję zrozumieć, że async czeka w najprostszej formie. Chcę stworzyć bardzo prostą metodę, która doda dwie liczby na potrzeby tego przykładu, oczywiście, to wcale nie jest czas przetwarzania, to tylko kwestia sformułowania tutaj przykładu. Przykład 1 private async Task DoWork1Async() { int result = 1 + 2; } Przykład 2 …
Czy przy użyciu asynchronicznego protokołu CTP firmy Microsoft dla platformy .NET można wychwycić wyjątek zgłoszony przez metodę asynchroniczną w metodzie wywołującej? public async void Foo() { var x = await DoSomethingAsync(); /* Handle the result, but sometimes an exception might be thrown. For example, DoSomethingAsync gets data from the network …
Muszę uruchomić wiele zadań asynchronicznych w aplikacji konsoli i poczekać na zakończenie wszystkich zadań przed dalszym przetwarzaniem. Istnieje wiele artykułów, ale im bardziej czytam, tym bardziej się mylę. Przeczytałem i rozumiem podstawowe zasady biblioteki Zadań, ale najwyraźniej gdzieś brakuje linku. Rozumiem, że możliwe jest łączenie zadań w taki sposób, aby …
Czy istnieje jakikolwiek scenariusz, w którym pisanie metodę tak: public async Task<SomeResult> DoSomethingAsync() { // Some synchronous code might or might not be here... // return await DoAnotherThingAsync(); } zamiast tego: public Task<SomeResult> DoSomethingAsync() { // Some synchronous code might or might not be here... // return DoAnotherThingAsync(); } miałoby …
Raz po raz widzę, że mówienie, że używanie async- awaitnie tworzy żadnych dodatkowych wątków. To nie ma sensu, ponieważ jedynym sposobem, w jaki komputer wydaje się robić więcej niż jedną rzecz na raz, jest Właściwie robienie więcej niż 1 rzeczy na raz (wykonywanie równoległe, korzystanie z wielu procesorów) Symulowanie przez …
Mam 3 zadania: private async Task<Cat> FeedCat() {} private async Task<House> SellHouse() {} private async Task<Tesla> BuyCar() {} Wszystkie muszą uruchomić się, zanim mój kod będzie mógł kontynuować, a ja też potrzebuję wyników od każdego z nich. Żaden z wyników nie ma ze sobą nic wspólnego Jak zadzwonić i poczekać …
Myślałem, że to w zasadzie to samo - pisanie programów, które dzielą zadania między procesory (na komputerach z procesorami 2+). Następnie czytam to , co mówi: Metody asynchroniczne mają być operacjami nieblokującymi. Wyrażenie oczekujące w metodzie asynchronicznej nie blokuje bieżącego wątku, gdy oczekiwane zadanie jest uruchomione. Zamiast tego wyrażenie podpisuje …
Mam asyncmetodę: public async Task<string> GenerateCodeAsync() { string code = await GenerateCodeService.GenerateCodeAsync(); return code; } Muszę wywołać tę metodę z metody synchronicznej. Jak mogę to zrobić bez konieczności duplikowania GenerateCodeAsyncmetody, aby działała synchronicznie? Aktualizacja Jednak nie znaleziono rozsądnego rozwiązania. Widzę jednak, że HttpClientjuż implementuje ten wzorzec using (HttpClient client = …
Używam async / czekaj i Taskdużo, ale nigdy nie korzystałem Task.Yield()i szczerze mówiąc, pomimo wszystkich wyjaśnień, nie rozumiem, dlaczego potrzebuję tej metody. Czy ktoś może podać dobry przykład, gdzie Yield()jest to wymagane?
Mam pewne obawy dotyczące używania akcji asynchronicznych w ASP.NET MVC. Kiedy poprawia wydajność moich aplikacji, a kiedy nie ? Czy dobrze jest używać akcji asynchronicznej wszędzie w ASP.NET MVC? Odnośnie oczekiwanych metod: czy powinienem używać słów kluczowych asynchronizujących / oczekujących, gdy chcę wykonać zapytanie do bazy danych (przez EF / …
Mam ten kod: private async void ContextMenuForGroupRightTapped(object sender, RightTappedRoutedEventArgs args) { CheckBox ckbx = null; if (sender is CheckBox) { ckbx = sender as CheckBox; } if (null == ckbx) { return; } string groupName = ckbx.Content.ToString(); var contextMenu = new PopupMenu(); // Add a command to edit the current …
Być może czegoś mi brakuje, ale jaka jest różnica między robieniem: public void MyMethod() { Task t = Task.Factory.StartNew(DoSomethingThatTakesTime); t.Wait(); UpdateLabelToSayItsComplete(); } public async void MyMethod() { var result = Task.Factory.StartNew(DoSomethingThatTakesTime); await result; UpdateLabelToSayItsComplete(); } private void DoSomethingThatTakesTime() { Thread.Sleep(10000); }
Każdy post na blogu, który przeczytałem, mówi ci, jak korzystać z metody asynchronicznej w języku C #, ale z jakiegoś dziwnego powodu nigdy nie wyjaśniaj, jak zbudować własne metody asynchroniczne. Mam teraz ten kod, który zużywa moją metodę: private async void button1_Click(object sender, EventArgs e) { var now = await …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.