public Model() { handler = MyMessageEvent; handler2 = MyMessageEvent2; _randomNumber = new Random(); _subscriber1Thread = new Thread(new ThreadStart(Subscriber1ThreadFunction)); _subscriber1ThreadIsRunning = true; _subscriber1Thread.Start(); _subscriber2Thread = new Thread(new ThreadStart(Subscriber2ThreadFunction)); _subscriber2ThreadIsRunning = true; _subscriber2Thread.Start(); _subscriber3Thread = new Thread(new ThreadStart(Subscriber3ThreadFunction)); _subscriber3ThreadIsRunning = true; _subscriber3Thread.Start(); }
void Subscriber2ThreadFunction() { handler2 += new SimpleEventHandler2(Subscriber2Handler); try { while (_subscriber2ThreadIsRunning == true) { Subscriber2Data = _randomNumber.Next(101, 200).ToString(); Thread.Sleep(_randomNumber.Next(200, 500)); } } catch (System.Threading.ThreadAbortException) { Console.WriteLine("Thread 2 is aborted"); } }