public override void Run(params string[] args) { Task parentTask = Task.Run(() => { base.Run((args)); }); List<Task> tasks = NextSpiders.Select(spiderContext => Task.Run(() => { LinkContextSpider spider = new LinkContextSpider(spiderContext.Value); spider.Run(args); })).ToList(); tasks.Add(parentTask); Task.WaitAll(tasks.ToArray()); }
public override void Run(params string[] args) { Task parentTask = Task.Run(() => { base.Run((args)); }); List <Task> tasks = NextSpiders.Select(spiderContext => Task.Run(() => { LinkContextSpider spider = new LinkContextSpider(spiderContext.Value); spider.Run(args); })).ToList(); tasks.Add(parentTask); Task.WaitAll(tasks.ToArray()); }