«task-parallel-library» etiketlenmiş sorular

Görev Paralel Kütüphanesi, .NET 4'ten bu yana .NET Framework'ün bir parçasıdır.

4
Görev yapıcısında iptal belirteci: neden?
Bazı System.Threading.Tasks.Taskkurucular CancellationTokenparametre olarak a alır: CancellationTokenSource source = new CancellationTokenSource(); Task t = new Task (/* method */, source.Token); Bu konuda beni şaşırtan şey , yöntem gövdesinin içinden geçirilen jetona gerçekten ulaşmanın bir yolu olmamasıdır (örneğin, hiçbir şey Task.CurrentTask.CancellationToken). Jeton, durum nesnesi gibi başka bir mekanizma yoluyla sağlanmalı veya …

6
Task.Start / Wait ve Async / Await arasındaki fark nedir?
Bir şey eksik olabilir ama yapmak arasındaki fark nedir: 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
TaskCompletionSource <T> ne zaman kullanılmalıdır?
AFAIK, bildiği tek şey, bir noktada, maruz kaldığı özellik yoluyla tamamlanması için onun SetResultveya SetExceptionyönteminin çağrılmasıdır .Task&lt;T&gt;Task Başka bir deyişle, a Task&lt;TResult&gt;ve tamamlanmasının üreticisi olarak hareket eder . Burada örneği gördüm : Bir Func'u eşzamansız olarak yürütmek ve bu işlemi temsil edecek bir Göreve sahip olmak için bir yola ihtiyacım …

11
Net 4.0'da Eşzamanlı Liste <T> yok mu?
System.Collections.ConcurrentNet 4.0'da yeni isim alanını görmek beni çok heyecanlandırdı ! Gördüğüm ConcurrentDictionary, ConcurrentQueue,ConcurrentStack , ConcurrentBagve BlockingCollection. Gizemli bir şekilde eksik gibi görünen bir şey, ConcurrentList&lt;T&gt; . Bunu kendim mi yazmalıyım (ya da web'den çıkar :) Burada bariz bir şeyi mi kaçırıyorum?


3
Bekle vs Görev.Gerekti - Deadlock?
Oldukça arasındaki farkı anlayamıyorum Task.Waitve await. Bir ASP.NET WebAPI hizmetinde aşağıdaki işlevlere benzer bir şey var: 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(); } public async static Task&lt;string&gt; Ros() { return …

7
Task.Run () ve Task.Factory.StartNew () arasındaki fark nedir
Yöntemim var: private static void Method() { Console.WriteLine("Method() started"); for (var i = 0; i &lt; 20; i++) { Console.WriteLine("Method() Counter = " + i); Thread.Sleep(500); } Console.WriteLine("Method() finished"); } Ve bu yöntemi yeni bir Görevde başlatmak istiyorum. Böyle yeni bir işe başlayabilirim var task = Task.Factory.StartNew(new Action(Method)); veya bu …

6
HttpClient - Bir görev iptal edildi mi?
Bir veya iki göreviniz olduğunda iyi çalışır, ancak listelenen birden fazla görevimiz olduğunda "Görev iptal edildi" hatası atar. 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 = new HttpRequestMessage(method, url); HttpClient httpClient = …


9
Parallel.ForEach'ta yuvalama bekleniyor
Bir metro uygulamasında, bir dizi WCF çağrısı yürütmem gerekiyor. Yapılması gereken önemli sayıda arama var, bu yüzden bunları paralel bir döngüde yapmam gerekiyor. Sorun, WCF çağrıları tamamlanmadan önce paralel döngü çıkmasıdır. Beklendiği gibi çalışması için bunu nasıl yeniden düzenlersiniz? var ids = new List&lt;string&gt;() { "1", "2", "3", "4", "5", …

4
Bekleyen bir Görev nasıl iptal edilir?
Bu Windows 8 WinRT görevleriyle oynuyorum ve aşağıdaki yöntemi kullanarak bir görevi iptal etmeye çalışıyorum ve bir noktaya kadar çalışıyor. CancelNotification yöntemi çağrılır, bu da görevin iptal edildiğini düşünmenizi sağlar, ancak arka planda görev çalışmaya devam eder, daha sonra tamamlandıktan sonra, Görev durumu her zaman tamamlanır ve asla iptal edilmez. …

7
CancellationTokenSource ne zaman imha edilir?
Sınıf CancellationTokenSourcetek kullanımlıktır. Reflector'a hızlı bir bakış KernelEvent, (büyük olasılıkla) yönetilmeyen bir kaynağın kullanımını kanıtlar . Yana CancellationTokenSourcehiçbir finalizer vardır bunu elden yoksa, GC yapmayacağım. Öte yandan, Yönetilen İş Parçacıklarında İptal adlı MSDN makalesinde listelenen örneklere bakarsanız , belirtecin yalnızca bir kod snippet'i kullanılır. Kodda elden çıkarmanın uygun yolu nedir? …



5
Asenkron lambda ile paralel foreach
Bir koleksiyonu paralel olarak ele almak istiyorum, ancak onu uygulamakta güçlük çekiyorum ve bu nedenle biraz yardım umuyorum. Paralel döngünün lambda'sı içinde C # 'da zaman uyumsuz olarak işaretlenmiş bir yöntemi çağırmak istersem sorun ortaya çıkar. Örneğin: var bag = new ConcurrentBag&lt;object&gt;(); Parallel.ForEach(myCollection, async item =&gt; { // some pre …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.