Salut,
Soit une tâche statique "public static async Task<ObservableCollection<Pt>> ImportPointAsync(int srid, string mdbPath, IProgress<int> progress)"
Cette tâche crée des points suite à la lecture de 2 tables.
Comment fonctionne-t-elle actuellement ? Elle commence par charger les tables dans 2 DataTables puis, ligne par ligne, crée les points.
La tâche fonctionne, mais vous comprenez que créer un par un plus de 60 000 point prend un peu de temps.
Voici la partie de code qui m'intéresse (que je voudrais améliorer) :
Que voudrais-je faire ? Paralléliser la création de points, mais c'est là que je coince depuis plusieurs jours et donc que je fais appel à vous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
J'avais pensé à faire une liste des taches dont chaque tâche créerait 1000 points. Si déterminer les index de départ et de fin de lecture pour chaque tâche parallèle ne pose pas de problème (mais est-ce vraiment la meilleure solution ?), je voudrais que la tâche de base (ImportPointAsync) retourne la progression globale (en calculant le nombre de points créés en fonction du nombre de points que chaque tâche devrait retourner (comment faire cela et le gérer ?) et du total des lignes de la table dtpoints).
Merci de vos z'avis z'avisés.

 

 
		
		 
        

 
			
			

 
   
 


 Parallélisme et progress
 Parallélisme et progress
				 Répondre avec citation
  Répondre avec citation

 
  

 Envoyé par Jean-Marc68
 Envoyé par Jean-Marc68
					
Partager