JAVA中多线程执行的时间或是顺序的问题

为什么有时候在MIAN()方法执行完了,才开始执行子线程.而有时是MAIN()方法还没执行完,子线程就开始执行了.还有时是这个线程我已经让步了,却没有执行下一个线程,还是执行的这个线程.这要怎么解释?

第1个回答  2013-08-05
关于JAVA中多线程的问题:可以说是时间问题导致了程序运行后出现多种状况的原因..(现在只谈在一个CPU下运行JAVA程序的效果.)因为当START一个新的子线程后,MAIN方法中的程序执行到这时CPU开始切换,但是这种切换是随即的,跟时间有关,比如你第一次执行可能CPU在MAIN方法中执行到12345停了,然后执行子线程的11 12 13 14 15.。。一段时间后再切换回主线程。所以你看到程序的执行结果不一样。就是因为CPU切换线程(这时候应该叫进程吧)的时间不一样.。这虽然有顺序切换,但也不是你想的那样切回主1次再切回子1次这样来回切..而是0.001秒切一次可以这样比喻.
第2个回答  2013-08-05
把你的代码贴出来看看
相似回答