Qualcuno sa di un modo per ottenere il ciclo Parallel.Foreach per utilizzare il partizionamento del blocco contro, cosa che credo sia il partizionamento dell'intervallo per impostazione predefinita. Sembra semplice quando si lavora con gli array perché è possibile semplicemente creare un partizionatore personalizzato e impostare il bilanciamento del carico su true.Partizionamento di blocchi IEnumerable in Parallel.Foreach
Poiché il numero di elementi in un oggetto IEnumerable non è noto fino al runtime, non riesco a trovare un buon modo per far funzionare il partizionamento del blocco.
Qualsiasi aiuto sarebbe apprezzato.
grazie!
Le attività che sto tentando di eseguire su ciascun oggetto richiedono tempi significativamente diversi per l'esecuzione. Alla fine di solito sono le ore in attesa che l'ultimo thread finisca il suo lavoro. Quello che sto cercando di ottenere è di avere i blocchi di richiesta del loop parallelo lungo il percorso invece di pre-allocare gli elementi in ogni thread.
Perché vuoi che questo (fuori interesse) –
Lo fai a pezzi per numero di pezzi o per dimensione per pezzo? – SimpleVar
Hai un oggetto IEnumerable o hai qualcosa che implementa un indicizzatore (quindi potresti fare 'obj [i]' su di esso? Se riesci a passare un indice, ho una soluzione. –