Ho un'applicazione in cui ho 1000+ piccole parti di 1 file di grandi dimensioni.Esecuzione numero N di thread in parallelo e in modo sequenziale
Devo caricare massimo 16 parti alla volta.
Ho utilizzato la libreria parallela di thread di .Net.
Ho usato Parallel.For dividere in più parti e assegnato 1 metodo che dovrebbe essere eseguito per ogni parte e impostare DegreeOfParallelism a 16.
devo eseguire 1 metodo con valori di checksum generati da parte diversa caricamenti, quindi devo impostare determinati meccanismi in cui devo aspettare che tutte le parti caricate dicano 1000 per completare. Nella libreria TPL sto affrontando 1 problema è che sta eseguendo casualmente uno qualsiasi dei 16 thread da 1000.
Voglio un meccanismo con cui posso eseguire inizialmente i primi 16 thread, se il 1 ° o 2 ° o uno dei 16 thread completa il suo compito la prossima parte 17 dovrebbe essere avviata.
Come posso ottenere questo?
mi piace l'immagine – Abdullah
Se @ di usr risposta non funziona, dare un'occhiata al [la mia risposta qui] (http://stackoverflow.com/a/15056827/106159) che potrebbero essere applicati. Altrimenti se puoi usare le classi DataflowBlock di TPL che potrebbero essere migliori (sto pensando che non puoi perché hai specificato C# 4) –
@Abdullah Manca solo qualche cerchio rosso disegnato a mano – TheLethalCoder