Exemplo n.º 1
0
        public void Parallele_Ausführung() {
            var multipliziere1 = new Multipliziere_mit_sich_selbst();
            var multipliziere2 = new Multipliziere_mit_sich_selbst();
            var scatter = new Scatter<double>();
            var gather = new Gather<double>();

            scatter.Output1 += multipliziere1.Process;
            scatter.Output2 += multipliziere2.Process;
            multipliziere1.Result += gather.Input1;
            multipliziere2.Result += gather.Input2;

            var waitHandle = new AutoResetEvent(false);
            IEnumerable<double> result = null;
            gather.Result += x => {
                result = x;
                waitHandle.Set();
            };

            var dauer = Stopuhr.Starten(() => {
                scatter.Process(Zahlen(10000000));
                waitHandle.WaitOne();
                result.Last();
            });

            Console.WriteLine(dauer);
        }
Exemplo n.º 2
0
        public void Synchrone_Ausführung() {
            var multipliziere = new Multipliziere_mit_sich_selbst();
            IEnumerable<double> result = null;
            multipliziere.Result += x => result = x;

            var dauer = Stopuhr.Starten(() => {
                multipliziere.Process(Zahlen(10000000));
                result.Last();
            });

            Console.WriteLine(dauer);
        }