private void RecuperationSimple() { Mesures.Clear(); int nbMesure = CoucheDonnees.GetNbMesure(); for (int i = 0; i < nbMesure; i++) { Mesures.Add(CoucheDonnees.GetMesure(i)); } }
private void RecuperationTPLParallelDispatch() { Mesures.Clear(); int nbMesure = CoucheDonnees.GetNbMesure(); Parallel.For(0, nbMesure, (i) => { var mesure = CoucheDonnees.GetMesure(i); Application.Current.Dispatcher.BeginInvoke(new Action(() => { Mesures.Add(mesure); })); }); }
private void RecuperationTPLParallel() { Mesures.Clear(); int nbMesure = CoucheDonnees.GetNbMesure(); ConcurrentBag <Prevision> result = new ConcurrentBag <Prevision>(); Parallel.For(0, nbMesure, (i) => { result.Add(CoucheDonnees.GetMesure(i)); }); foreach (var item in result) { Mesures.Add(item); } }
private void RecuperationTPLParallelTask() { Mesures.Clear(); int nbMesure = CoucheDonnees.GetNbMesure(); List <Task> tasks = new List <Task>(); for (int i = 0; i < nbMesure; i++) { tasks.Add(new Task((index) => { var mesure = CoucheDonnees.GetMesure((int)index); Application.Current.Dispatcher.BeginInvoke(new Action(() => { Mesures.Add(mesure); })); }, i)); } tasks.ForEach(t => t.Start()); }