Пример #1
0
        private void RecuperationSimple()
        {
            Mesures.Clear();
            int nbMesure = CoucheDonnees.GetNbMesure();

            for (int i = 0; i < nbMesure; i++)
            {
                Mesures.Add(CoucheDonnees.GetMesure(i));
            }
        }
Пример #2
0
        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);
                }));
            });
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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());
        }