多线程里,线程执行的先后次序问题
class Runner implements Runnable
{
public void run()
{
System.out.println("In Runner method run()\n");
}
public synchronized void funcB()
{
System.out.println("In Runner funcB \n");
}
}
class TestRun
{
public static void main(String args[])
{
Runner r=new Runner(); // run() method
TestRun t=new TestRun();
new Thread(r).start();
r.funcB();
t.funcA();
}
public synchronized void funcA()
{
System.out.println("main method is here\n");
}
}
看以上例子,有时候 public void run() 这个会第一个执行,但是多数情况下都是最后才执行,
请问是什么决定线程执行的先后次序?
------解决方案--------------------随机 完全没顺序