Domande taggate «task-parallel-library»

Task Parallel Library fa parte di .NET Framework da .NET 4. È un insieme di API per consentire agli sviluppatori di programmare applicazioni asincrone.

6
Parametro predefinito per CancellationToken
Ho un codice asincrono a cui vorrei aggiungere un file CancellationToken. Tuttavia, ci sono molte implementazioni in cui questo non è necessario, quindi mi piacerebbe avere un parametro predefinito, forse CancellationToken.None. Però, Task<x> DoStuff(...., CancellationToken ct = null) rendimenti Un valore di tipo "" non può essere utilizzato come parametro …

3
Necessità di comprendere l'utilizzo di SemaphoreSlim
Ecco il codice che ho ma non capisco cosa SemaphoreSlimstia facendo. async Task WorkerMainAsync() { SemaphoreSlim ss = new SemaphoreSlim(10); List<Task> trackedTasks = new List<Task>(); while (DoMore()) { await ss.WaitAsync(); trackedTasks.Add(Task.Run(() => { DoPollingThenWorkAsync(); ss.Release(); })); } await Task.WhenAll(trackedTasks); } void DoPollingThenWorkAsync() { var msg = Poll(); if (msg != …





7
Compito: eseguire con i parametri?
Sto lavorando a un progetto di rete multi-tasking e sono nuovo Threading.Tasks. Ho implementato un semplice Task.Factory.StartNew()e mi chiedo come posso farlo Task.Run()? Ecco il codice di base: Task.Factory.StartNew(new Action<object>( (x) => { // Do something with 'x' }), rawData); Ho esaminato System.Threading.Tasks.Tasknel browser degli oggetti e non sono riuscito …

4
C'è qualcosa come BlockingCollection <T> asincrono?
Vorrei awaitsul risultato in BlockingCollection&lt;T&gt;.Take()modo asincrono, quindi non blocco il thread. Alla ricerca di qualcosa di simile: var item = await blockingCollection.TakeAsync(); So che potrei farlo: var item = await Task.Run(() =&gt; blockingCollection.Take()); ma questo uccide l'intera idea, perché un altro thread (di ThreadPool) viene invece bloccato. C'è qualche alternativa?

3
Perché le continuazioni di Task.WhenAll vengono eseguite in modo sincrono?
Ho appena fatto un'osservazione curiosa riguardo al Task.WhenAllmetodo, quando eseguivo .NET Core 3.0. Ho passato un'attività semplice Task.Delaycome argomento singolo a Task.WhenAll, e mi aspettavo che l'attività avvolta si comportasse in modo identico all'attività originale. Ma non è così. Le continuazioni dell'attività originale vengono eseguite in modo asincrono (il che …
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.