Thread thread1 = new Thread(new ThreadStart(c1.print));
Thread thread2 = new Thread(new ThreadStart(c2.print));
Thread thread3 = new Thread(new ThreadStart(c3.print));
thread1.Start();
thread2.Start();
thread3.Start();
When I run above code, sometimes thread 3 is printed before thread 1 and thread 2 even I specified thread1 to start 1st. Why does this happen?