static void Main(string[] args) { EventTry eventTry = new EventTry(); eventTry.OnChange += () => Console.WriteLine("Sub 1"); eventTry.OnChange += () => Console.WriteLine("Sub 2"); eventTry.RaiseExcept(); PrimeNumbers prime1 = new PrimeNumbers(); Console.WriteLine(prime1.GetPrimeMethod1(10)); PrimeNumbers prime2 = new PrimeNumbers(); Console.WriteLine(prime2.GetPrimeMethod2(10)); Thread thread1 = new Thread(() => { Console.WriteLine($"Start fir: {Thread.CurrentThread.Name} {DateTime.Now.ToString("hh:mm:s:ms")}"); int[] array = new int[] { 1, 3, 5, 7, 9 }; foreach (int el in array) { Console.WriteLine($"{el} => {prime1.GetPrimeMethod1(10)}"); } }); thread1.Name = "primul thread"; thread1.Start(); Console.ReadLine(); Console.ReadLine(); }
static void Main(string[] args) { Pub p = new Pub(); p.OnChange += (sender, e) => Console.WriteLine("Subscriber 1! Value:" + e.Value); p.OnChange += (sender, e) => Console.WriteLine("Subscriber 2! Value:" + e.Value); p.Raise(); int numarNaturalDat = 50000; PrimeNumbers primeNumbers = new PrimeNumbers(); Thread thread1 = new Thread(() => primeNumbers.getLesserPrimeNumber(numarNaturalDat, 0)); Thread thread2 = new Thread(() => primeNumbers.getLesserPrimeNumber(numarNaturalDat, 1)); try { thread1.Start(); Console.WriteLine("Startfir:" + thread1.GetHashCode() + " Time: " + DateTime.Now.ToString("HH:mm:ss:ffff") + " Numar natural dat = " + numarNaturalDat); thread2.Start(); Console.WriteLine("Startfir:" + thread2.GetHashCode() + " Time: " + DateTime.Now.ToString("HH:mm:ss:ffff") + " Numar natural dat = " + numarNaturalDat); } catch (Exception ex) when(ex is ThreadStateException || ex is OutOfMemoryException) { Console.WriteLine("Exception!"); } }