/// <inheritdoc/> public void Perform() { var instances = _instances.Select(_ => _container.Get(_.GetType()) as IRunInAsyncContext).ToList(); var thread = new Thread(_ => { _logger.Information($"Running {instances.Count} tasks in parallel."); var allTasks = instances.Select(instance => instance.Run()); Task.WhenAll(allTasks).Wait(); }); thread.Start(); }