Sto utilizzando un problema Producer-Consumer e ho un BlockingCollection che produco dati e consumano dati da esso. Chiamo un metodo per produrre i dati e imposta la blocking collection a CompleteAdding in modo che il consumatore consumi tutti i dati dal BC (blockingcollection), e dopo qualche elaborazione l'applicazione vuole aggiungere altri dati al BC, ma non può perché è impostato su CompleteAdding, come posso impostare CompleteAdding su false, o come posso consumare tutti i dati dal BC, non aspettando il ComleteAdding?L'aggiunta a BlockingCollection dopo CompleteAdding è denominata
Grazie.
Ma se non chiamo CompleteAdding, come finisce il ciclo? perché uso un ciclo con la proprietà .GetConsumingEnumerable() – XandrUu
@XandrUu: In generale, non è corretto, perché si inserirebbero più dati. Se si desidera un'idea "finito questo lotto", si potrebbe voler considerare un valore sentinella ... o avere una collezione per partita. –
@JonSkeet quale sarebbe l'usecase per chiamarlo, cioè: perché ti limiti a dire, questa collezione è chiusa? – koenmetsu