示例#1
0
 private static void GatherAllFilesTasks()
 {
     Scheduler scheduler = new Scheduler();
     Future files = scheduler.Schedule(new GatherAllFiles(@"D:\OSS"));
     scheduler.Execute();
     Console.WriteLine("Files: {0}, Tasks: {1}", files.GetValue<ICollection<string>>().Count,
         scheduler.TotalTasks);
 }
示例#2
0
        private static void HandlingErrors()
        {
            Scheduler scheduler = new Scheduler();
            Future result = scheduler.Schedule(new ThrowExceptionWhenZero(5));
            scheduler.Execute();
            try
            {
                result.GetValue<int>();
            }
            catch (TaskFailedException e)
            {
                Console.WriteLine(e);
            }

        }
示例#3
0
        private static void ParallelTasks()
        {
            List<int> items = new List<int>();
            Random r = new Random();
            for (int i = 0; i < 500000; i++)
            {
                items.Add(r.Next());
            }
            Console.WriteLine("-----------");
            Scheduler scheduler = new Scheduler();
            ParallelQSort task = new ParallelQSort(items.ToArray());
            scheduler.Schedule(task);
            scheduler.Execute();

            int[] value = task.Completed.GetValue<int[]>();
        }
示例#4
0
 private static void MultiThreadedMultiplication()
 {
     Scheduler scheduler = new Scheduler();
     scheduler.Schedule(new UseMultiplicationTask());
     scheduler.Execute();
 }
示例#5
0
 private static void MillionsOfTasks()
 {
     Scheduler scheduler = new Scheduler();
     scheduler.Schedule(new GeneratorTask(10));
     scheduler.Execute();
 }
示例#6
0
 private static void ScheduledTasks()
 {
     Scheduler scheduler = new Scheduler();
     Future result = scheduler.Schedule(new WaitFiveSeconds());
     scheduler.Execute();
 }
示例#7
0
 protected internal void Initialize(Scheduler aScheduler)
 {
     scheduler = aScheduler;
     state = Execute().GetEnumerator();
 }