Questions marquées «task-parallel-library»

La bibliothèque parallèle de tâches fait partie du .NET Framework depuis .NET 4. Il s'agit d'un ensemble d'API permettant aux développeurs de programmer des applications asynchrones.

4
Jeton d'annulation dans le constructeur de tâches: pourquoi?
Certains System.Threading.Tasks.Taskconstructeurs prennent un CancellationTokencomme paramètre: CancellationTokenSource source = new CancellationTokenSource(); Task t = new Task (/* method */, source.Token); Ce qui me déroute à ce sujet, c'est qu'il n'y a aucun moyen de l' intérieur du corps de la méthode pour réellement accéder au jeton transmis (par exemple, rien …

6
Quelle est la différence entre Task.Start / Wait et Async / Await?
Il me manque peut-être quelque chose, mais quelle est la différence entre faire: 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); }


11
Pas de ConcurrentList <T> dans .Net 4.0?
J'étais ravi de voir le nouvel System.Collections.Concurrentespace de noms dans .Net 4.0, plutôt sympa! Je l' ai vu ConcurrentDictionary, ConcurrentQueue, ConcurrentStack, ConcurrentBaget BlockingCollection. Une chose qui semble mystérieusement manquer est a ConcurrentList&lt;T&gt;. Dois-je l'écrire moi-même (ou le retirer du Web :))? Suis-je en train de manquer quelque chose d'évident ici?


3
attendre vs Task.Wait - Deadlock?
Je ne comprends pas très bien la différence entre Task.Waitet await. J'ai quelque chose de similaire aux fonctions suivantes dans un service ASP.NET WebAPI: public class TestController : ApiController { public static async Task&lt;string&gt; Foo() { await Task.Delay(1).ConfigureAwait(false); return ""; } public async static Task&lt;string&gt; Bar() { return await Foo(); …


6
HttpClient - Une tâche a été annulée?
Cela fonctionne bien quand avoir une ou deux tâches génère une erreur "Une tâche a été annulée" lorsque nous avons plus d'une tâche répertoriée. List&lt;Task&gt; allTasks = new List&lt;Task&gt;(); allTasks.Add(....); allTasks.Add(....); Task.WaitAll(allTasks.ToArray(), configuration.CancellationToken); private static Task&lt;T&gt; HttpClientSendAsync&lt;T&gt;(string url, object data, HttpMethod method, string contentType, CancellationToken token) { HttpRequestMessage httpRequestMessage = …



4
Comment annuler une tâche en attente?
Je joue avec ces tâches Windows 8 WinRT et j'essaie d'annuler une tâche en utilisant la méthode ci-dessous, et cela fonctionne jusqu'à un certain point. La méthode CancelNotification est appelée, ce qui vous fait penser que la tâche a été annulée, mais en arrière-plan, la tâche continue de s'exécuter, puis …

7
Quand éliminer CancellationTokenSource?
La classe CancellationTokenSourceest jetable. Un rapide coup d'œil dans Reflector prouve l'utilisation d' KernelEventune ressource (très probablement) non gérée. Puisque CancellationTokenSourcen'a pas de finaliseur, si nous ne le supprimons pas, le GC ne le fera pas. En revanche, si vous examinez les exemples répertoriés dans l'article MSDN Annulation dans les …

4
Async / Wait vs BackgroundWorker
Au cours des derniers jours, j'ai testé les nouvelles fonctionnalités de .net 4.5 et c # 5. J'aime ses nouvelles fonctionnalités async / await. Auparavant, j'avais utilisé BackgroundWorker pour gérer des processus plus longs en arrière-plan avec une interface utilisateur réactive. Ma question est: après avoir ces nouvelles fonctionnalités intéressantes, …


5
Foreach parallèle avec lambda asynchrone
J'aimerais gérer une collection en parallèle, mais j'ai du mal à l'implémenter et j'espère donc avoir de l'aide. Le problème survient si je veux appeler une méthode marquée async en C #, dans le lambda de la boucle parallèle. Par exemple: var bag = new ConcurrentBag&lt;object&gt;(); Parallel.ForEach(myCollection, async item =&gt; …

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.