Je suis nouveau dans le monde des threads, j'ai moins (n ') idée sur le threading. S'il vous plaît, aidez-moi à résoudre mon problème suivant.Threading avec des listes génériques
- J'ai 2 listes génériques (list1, list2)
- J'itérer creux list1
- Effectuer un traitement et doivent mémoriser le résultat dans liste2
J'ai besoin de traiter les éléments de list1 lot par lot dans un nombre donné de threads, stocker toutes les sorties dans une seule liste (liste2)
Q1. Comment faire des lots à partir de list1 et donner aux threads?
Q2. Comment nous identifions quand une bande de roulement a fini son opération?
Q3. Comment nous donnons l'article suivant à la bande de roulement finie?
Q4. Cela va-t-il causer l'accès aux problèmes de list2 (puisque plusieurs threads y accèdent)?
s'il vous plaît montrer du code ... qu'avez-vous déjà essayé? – Yahia
J'ai un gros code et plus difficile (et peu pratique) à montrer ici. Comme je l'ai dit je n'ai aucune idée de comment faire cela avec le filetage. Mon code ne fonctionne que dans un seul thread, ce que je dois faire est de le faire multi-thread –
var list2 = list1.AsParallel(). AvecDegreeOfParallelism (BatchSize) .Select (x => x.SomeProcessing()).() – adrianm