Vorrei sapere se è possibile modificare lo stato di completamento dei blocchi di dati?Task Flusso dati, un blocco dati può essere modificato dallo stato di completamento?
Ad esempio, ho contrassegnato un blocco dati var block = new BufferBlock<int>();
completo di block.Complete()
. Il blocco è collegato ad altri blocchi di dati. Vorrei sapere se riesco a eseguire lo block
modificando lo stato di completamento allo stato originale! Completo.
Se ciò non è possibile, come posso eseguire più esecuzioni, incluso il completamento, senza dover a) scollegare tutti i blocchi, b) riattivare tutti i blocchi e c) ricollegare tutti i blocchi nuovamente?
Qualsiasi idea che possa facilitare l'esecuzione dei cicli di flusso dei dati, compreso il completamento di ciascun blocco lungo la catena senza dover ricreare l'intero framework?
Grazie
Perché hai bisogno di corse separate? Inoltre, perché non vuoi ricreare la rete del flusso di dati? Dubito che influenzerà le prestazioni (a meno che non lo faccia molte volte al secondo) e inoltre non dovrebbe rendere il tuo codice più complicato di molto. – svick
Le corse separate fanno parte del requisito. Ricreare l'intera rete vanificherebbe completamente l'efficienza ottenuta attraverso la scelta del flusso di dati tpl. Il mal di testa principale è lo scollegamento e il ricollegamento non tanto della ri-creazione di ciascun blocco di flusso di dati. Se la modifica dello stato di completamento è impossibile, come potrei altrimenti segnalare il completamento senza influire sullo stato di completamento di ogni blocco del flusso di dati? Non posso semplicemente inviare una bandiera atomica perché i tipi di oggetto lungo la catena non sono identici (ci sono trasformabili coinvolti). –