2014-10-16 12 views

risposta

5

Il blocco è avido, ma non a causa di come gestisce le voci di cui sopra 100, ma quelli qui sotto 2. È possibile impostare il valore di avidi di false (true è l'impostazione predefinita) e poi il blocco sarebbe in realtà solo consumare articoli quando ci sono abbastanza per inviare un lotto, fino a quel momento vengono rinviate:

classe
var batchBlock = new BatchBlock<int>(2, new GroupingDataflowBlockOptions 
{ 
    Greedy = false, 
    BoundedCapacity = 100. 
}); 

Il BatchBlock opera in modalità avido o non avidi. In modalità avida, che è l'impostazione predefinita, un oggetto BatchBlock accetta ogni messaggio che viene offerto e si propaga in un array dopo aver ricevuto il conteggio degli elementi specificato. Nella modalità non avido, un oggetto BatchBlock rinvia tutti i messaggi in arrivo fino abbastanza fonti hanno offerto messaggi al blocco per formare un lotto

Da Dataflow (Task Parallel Library)