static void Main(string[] args) { XmlConfigurator.Configure(); var logger = LogManager.GetLogger("SampleTextLogger"); var loggerService = new LoggerService(logger); var quadraticProducer = new QuadraticProducer(loggerService); var cubicProducer = new CubicProducer(loggerService); var badProducer = new BadProducer(loggerService); var client = new Client("kisa"); client.StartListenProducer(badProducer); Console.WriteLine("Start listening to bad producer...\nPress space bar to exit."); Task.Run(() => { quadraticProducer.Run((point) => loggerService.Info($"Quadratic function {point}")); }); Task.Run(() => { cubicProducer.Run((point) => loggerService.Info($"Cubic function {point}")); }); Task.Run(() => { badProducer.Run((point) => loggerService.Info($"Bad function {point}")); }); while (true) { if (Console.ReadKey().Key == ConsoleKey.Spacebar) { quadraticProducer.IsContinue = false; cubicProducer.IsContinue = false; badProducer.IsContinue = false; } } }
static void Main(string[] args) { Console.WriteLine("Press 'Esc' to stop producing points."); log4net.Config.XmlConfigurator.Configure(); var loggerService = new LoggerService(log4net.LogManager.GetLogger("SampleLogger")); var reciprocalProducer = new ReciprocalProducer(loggerService); var sqrtProducer = new SqrtProducer(loggerService); var badProducer = new BadProducer(loggerService); var client = new Client("Steve", loggerService); badProducer.OnPointProduced += client.OnPointReceived; Task.Run(() => { reciprocalProducer.Run((point) => loggerService.Info($"Reciprocal producer made {point}")); }); Task.Run(() => { sqrtProducer.Run((point) => loggerService.Info($"Sqrt producer made {point}")); }); Task.Run(() => { badProducer.Run((point) => loggerService.Info($"Bad producer made {point}")); }); while (true) { if (Console.ReadKey().Key == ConsoleKey.Escape) { reciprocalProducer.KeepRunning = false; sqrtProducer.KeepRunning = false; badProducer.KeepRunning = false; break; } } }
static void Main(string[] args) { XmlConfigurator.Configure(); ILog logger = LogManager.GetLogger("TextLogger"); LoggerService loggerService = new LoggerService(logger); FirstProducer firstProducer = new FirstProducer(loggerService); SecondProducer secondProducer = new SecondProducer(loggerService); BadProducer badProducer = new BadProducer(loggerService); Client clientForBadProducer = new Client(); badProducer.OnGoodPointReceived += clientForBadProducer.GetGoodPoint; Task.Run(() => { firstProducer.Run((point) => loggerService.Info($"First Function {point}")); }); Task.Run(() => { secondProducer.Run((point) => loggerService.Info($"Second Function {point}")); }); Task.Run(() => { badProducer.Run((point) => loggerService.Info($"BadProducer Function {point}")); }); Console.ReadLine(); secondProducer.IsContinue = false; firstProducer.IsContinue = false; badProducer.IsContinue = false; Console.WriteLine("Good Bay!"); Console.ReadKey(); }