예제 #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("----1-----");
            Tasker.GetTask(999999, 10);
            Tasker.GetTask(9999999, 20);
            Tasker.GetTask(99999, 5);

            Console.WriteLine("----2----"); //Использование токена отмены

            Task task = new Task(() =>
            {
                while (true)
                {
                    if (token.IsCancellationRequested)
                    {
                        Console.WriteLine("Задача отменена.");
                        return;
                    }
                }
            });

            task.Start();
            cancelTokenSource.Cancel();

            Console.WriteLine("----3и4---");//создание 3 задач и использование их результатов в другой задаче и спользование задачи продолжения

            Tasker.FourSum(new Vector(100), new Vector(20), new Vector(30)).GetAwaiter().GetResult();

            Console.WriteLine("----5---"); //Использование стандартных циклов for, foreach и методов класса Parllel

            Paralleler.For();
            Paralleler.ForEach();

            Console.WriteLine("----6---"); //Использование Parallel.Invoke(распараллеливание блока операторов)

            Paralleler.DoubleTask(100000);

            Console.WriteLine("----7---"); //задачка

            Store.Work();

            Console.WriteLine("----8---"); //Использование async, await

            Task t = DisplayResultAsync();

            t.Wait();
        }
예제 #2
0
        static void Main(string[] args)
        {
            Tasker.GetTask(1000000, 1);
            Tasker.GetTask(1000000, 2);
            Tasker.GetTask(1000000, 3);
            Stopwatch watch = new Stopwatch();

            watch.Start();
            Vector v = new Vector(1000000);

            v = v * 3;
            watch.Stop();
            Console.WriteLine("{0}:{1}", watch.Elapsed.Seconds, watch.Elapsed.Milliseconds);
            //Task task = new Task(() =>
            //{
            //    Tasker.GetTask(100000, 64);
            //    if (token.IsCancellationRequested)
            //    {
            //        return;
            //    }
            //});
            Task eratorToken = new Task(() =>
            {
                Tasker.GetTask(100000, 64);
            });
            string key = Console.ReadLine();

            if (key == "g")
            {
                cancelTokenSource.Cancel();
            }
            else
            {
                eratorToken.Start();
                eratorToken.Wait();
            }
            Tasker.FourSum(new Vector(100), new Vector(20), new Vector(30)).GetAwaiter().GetResult();
            Paralleler.For();
            Paralleler.ForEach();
            Paralleler.DoubleTask(100000);
            Store.Work();
            Task t = DisplayResultAsync();

            t.Wait();
        }
예제 #3
0
        static void Main(string[] args)
        {
            Tasker.GetTask(1000000, 1);
            Tasker.GetTask(1000000, 2);
            Tasker.GetTask(1000000, 3);
            Task task = new Task(() =>
            {
                Tasker.GetTask(100000, 64);
                if (token.IsCancellationRequested)
                {
                    return;
                }
            });

            Tasker.FourSum(new Vector(100), new Vector(20), new Vector(30)).GetAwaiter().GetResult();
            Paralleler.For();
            Paralleler.ForEach();
            Paralleler.DoubleTask(100000);
            Store.Work();
            Task t = DisplayResultAsync();

            t.Wait();
        }