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() 这个会第一个执行,但是多数情况下都是最后才执行,请问是什么决定线程执行的先后次序?
t.funcA();这个顺序每次都一样