Pytania otagowane jako task-parallel-library

Biblioteka równoległa zadań jest częścią .NET Framework od .NET 4. Jest to zestaw interfejsów API umożliwiających programistom programowanie aplikacji asynchronicznych.

4
Najlepsza praktyka, aby wywołać ConfigureAwait dla całego kodu po stronie serwera
Jeśli masz kod po stronie serwera (np. Niektóre ApiController), a twoje funkcje są asynchroniczne - więc zwracają się Task<SomeObject>- czy jest najlepszą praktyką, że za każdym razem czekasz na funkcje, które wywołujesz ConfigureAwait(false)? Przeczytałem, że jest bardziej wydajny, ponieważ nie musi przełączać kontekstów wątków z powrotem do oryginalnego kontekstu wątków. …

9
Jeśli mój interfejs musi zwrócić zadanie, jaki jest najlepszy sposób wdrożenia bez operacji?
W poniższym kodzie, ze względu na interfejs, klasa LazyBarmusi zwrócić zadanie ze swojej metody (i ze względu na argumenty nie można go zmienić). Jeśli LazyBarimplementacja jest niezwykła, ponieważ zdarza się, że działa szybko i synchronicznie - jaki jest najlepszy sposób na zwrócenie zadania braku operacji z metody? Przeszedłem Task.Delay(0)poniżej, jednak …

5
Używanie asynchronizacji / oczekiwania na wiele zadań
Korzystam z klienta API, który jest całkowicie asynchroniczny, to znaczy każda operacja albo zwraca, Taskalbo Task<T>np .: static async Task DoSomething(int siteId, int postId, IBlogClient client) { await client.DeletePost(siteId, postId); // call API client Console.WriteLine("Deleted post {0}.", siteId); } Używając operatorów asynchronicznych / oczekujących C # 5, jaki jest właściwy …

15
Asynchronicznie poczekaj na zakończenie zadania <T>
Chcę poczekać na zakończenie zadania &lt;T&gt; z pewnymi specjalnymi regułami: jeśli nie zakończyło się ono po X milisekundach, chcę wyświetlić wiadomość dla użytkownika. A jeśli nie zakończy się po upływie milisekund Y, chcę automatycznie poprosić o anulowanie . Mogę użyć Task.ContinueWith, aby asynchronicznie czekać na zakończenie zadania (tj. Zaplanować wykonanie …

4
Kiedy używać Task.Delay, kiedy używać Thread.Sleep?
Czy istnieją dobre reguły, kiedy należy używać Task.Delay kontra Thread.Sleep ? W szczególności, czy istnieje minimalna wartość zapewniająca, aby jedna była skuteczna / wydajna w stosunku do drugiej? Wreszcie, skoro Task.Delay powoduje przełączanie kontekstu na maszynie stanu asynchronicznie / oczekuj, czy jest narzut związany z jego używaniem?

8
Jaka jest różnica między zadaniem a wątkiem?
W języku C # 4.0, mamy Taskw System.Threading.Tasks nazw. Jaka jest prawdziwa różnica między Threadi Task. Zrobiłem jakiś przykładowy program (pomoc wzięta z MSDN) dla własnego uczenia się Parallel.Invoke Parallel.For Parallel.ForEach ale mają wiele wątpliwości, ponieważ pomysł nie jest tak jasny. Początkowo szukałem w Stackoverflow podobnego typu pytania, ale być …


4
Jak mogę powiedzieć Moq, aby zwrócił zadanie?
Mam interfejs, który deklaruje Task DoSomethingAsync(); Używam MoqFramework do moich testów: [TestMethod()] public async Task MyAsyncTest() { Mock&lt;ISomeInterface&gt; mock = new Mock&lt;ISomeInterface&gt;(); mock.Setup(arg =&gt; arg.DoSomethingAsync()).Callback(() =&gt; { &lt;my code here&gt; }); ... } Następnie w teście wykonuję kod, który się wywołuje await DoSomethingAsync(). A test po prostu kończy się niepowodzeniem …

11
Jak bezpiecznie wywołać metodę asynchroniczną w języku C # bez czekania
Mam asyncmetodę, która nie zwraca danych: public async Task MyAsyncMethod() { // do some stuff async, don't return any data } Wywołuję to z innej metody, która zwraca niektóre dane: public string GetStringData() { MyAsyncMethod(); // this generates a warning and swallows exceptions return "hello world"; } Wywołanie MyAsyncMethod()bez oczekiwania …

4
Synchroniczne oczekiwanie na operację asynchroniczną i dlaczego Wait () zamraża tutaj program
Przedmowa : Szukam wyjaśnienia, a nie tylko rozwiązania. Znam już rozwiązanie. Mimo, że spędziłem kilka dni na studiowaniu artykułów MSDN na temat Asynchronicznego Wzorca Asynchronicznego (TAP), asynchronizacji i czekania, nadal jestem nieco zdezorientowany niektórymi szczegółami. Piszę program rejestrujący dla aplikacji ze Sklepu Windows i chcę obsługiwać zarówno rejestrowanie asynchroniczne, jak …

6
Złap wyjątek zgłoszony przez asynchroniczną metodę void
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 …

4
Parallel.ForEach vs Task.Factory.StartNew
Jaka jest różnica między poniższymi fragmentami kodu? Czy oba nie będą używać wątków puli wątków? Na przykład, jeśli chcę wywołać funkcję dla każdego elementu w kolekcji, Parallel.ForEach&lt;Item&gt;(items, item =&gt; DoSomething(item)); vs foreach(var item in items) { Task.Factory.StartNew(() =&gt; DoSomething(item)); }

8
Uruchamianie wielu zadań asynchronicznych i oczekiwanie na ich zakończenie
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 …

10
Oczekiwanie na wiele zadań z różnymi wynikami
Mam 3 zadania: private async Task&lt;Cat&gt; FeedCat() {} private async Task&lt;House&gt; SellHouse() {} private async Task&lt;Tesla&gt; 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ć …

12
Synchroniczne wywoływanie metody asynchronicznej
Mam asyncmetodę: public async Task&lt;string&gt; 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 = …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.