private static void RunMPC(ITransmitter transmitter, IGoalUtilizer utilizer) { utilizer.Reset(); var generator = new GoalGenerator(); IList <Producer> producers = new List <Producer>() { new Producer(generator, transmitter) }; IList <Consumer> consumers = new List <Consumer>(); consumers.Add(new Consumer(utilizer, transmitter)); consumers.Add(new Consumer(utilizer, transmitter)); consumers.Add(new Consumer(utilizer, transmitter)); GoalManager manager = new GoalManager(producers, consumers); Stopwatch stopWatchBody = new Stopwatch(); stopWatchBody.Start(); manager.Run(); Thread.Sleep(5000);//22 000 000 manager.Stop(); stopWatchBody.Stop(); string elapsedTimeBody = ConvertTSToString(stopWatchBody.Elapsed); Stopwatch stopWatchFinish = new Stopwatch(); stopWatchFinish.Start(); var isOk = utilizer.WasUtilizeSuccessful(); stopWatchFinish.Stop(); string elapsedTimeFinish = ConvertTSToString(stopWatchFinish.Elapsed); Console.WriteLine($"{transmitter.GetType().Name.PadRight(30)} isOk {isOk} nGoals: {generator.Counter} BodyTime: {elapsedTimeBody} FinishTime: {elapsedTimeFinish}"); }
public void Initialize() { _sampleGoal1 = GoalGenerator.GenerateGoal1(); _sampleGoal2 = GoalGenerator.GenerateGoal2(); _manyGoals = GoalGenerator.GenerateManyGoals(); }