using System; using System.Threading; namespace ClassExamples { class Tester { int x; public void Inc() { for (int i=0; i<10; i++) { lock(this) { x++; Console.WriteLine(x); } } } public void Dec() { for (int i=0; i<10; i++) { lock(this) { x--; Console.WriteLine(x); } } } public static void Main() { Tester tester = new Tester(); Thread tInc = new Thread(new ThreadStart(tester.Inc)); Thread tDec = new Thread(new ThreadStart(tester.Dec)); tInc.Start(); tDec.Start(); Thread.Sleep(500); tInc.Abort(); tDec.Abort(); tInc.Join(); tDec.Join(); } } }