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(); }
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(); }
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(); }