Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese
Informazioni
L'argomento richiesto è visualizzato di seguito, ma non è incluso in questa libreria.

Metodo ActionBlock<TInput>.Complete

.NET Framework (current version)

Segnala al blocco del flusso di dati che non deve accettare o produrre altri messaggi e non deve utilizzare altri messaggi posposti.

Spazio dei nomi:  System.Threading.Tasks.Dataflow
Assembly:  System.Threading.Tasks.Dataflow (in System.Threading.Tasks.Dataflow.dll)

public void Complete()

Implements

IDataflowBlock.Complete()

Dopo avere Complete è stato chiamato su un blocco di dati, il blocco viene terminata in modo che la relativa attività Completion immettere uno stato finale) dopo che ha elaborato i dati qualsiasi disponibili in precedenza. Questo metodo non bloccherà attendere il completamento di verifica, ma avvia la richiesta. Per attendere il completamento di verifica, utilizzare la proprietà Completion.

Nell'esempio seguente viene illustrato come utilizzare il metodo Complete segnalare al blocco del flusso di dati che non deve accettare o scrivere altri messaggi non utilizzare altri messaggi posposti. L'esempio di codice fa parte di un esempio più esaustivo fornito per l'argomento Procedura: specificare il grado di parallelismo in un blocco di flussi di dati.


// Performs several computations by using dataflow and returns the elapsed
// time required to perform the computations.
static TimeSpan TimeDataflowComputations(int maxDegreeOfParallelism,
   int messageCount)
{
   // Create an ActionBlock<int> that performs some work.
   var workerBlock = new ActionBlock<int>(
      // Simulate work by suspending the current thread.
      millisecondsTimeout => Thread.Sleep(millisecondsTimeout),
      // Specify a maximum degree of parallelism.
      new ExecutionDataflowBlockOptions
      {
         MaxDegreeOfParallelism = maxDegreeOfParallelism
      });

   // Compute the time that it takes for several messages to 
   // flow through the dataflow block.

   Stopwatch stopwatch = new Stopwatch();
   stopwatch.Start();

   for (int i = 0; i < messageCount; i++)
   {
      workerBlock.Post(1000);
   }
   workerBlock.Complete();

   // Wait for all messages to propagate through the network.
   workerBlock.Completion.Wait();

   // Stop the timer and return the elapsed number of milliseconds.
   stopwatch.Stop();
   return stopwatch.Elapsed;
}


.NET Framework

Supportato in: 4.5

Libreria di classi portabile

Supportato in: Libreria di classi portabile

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ogni piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Mostra: