首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于一段多线程程序的执行顺序解决思路

2012-02-12 
关于一段多线程程序的执行顺序两个类Java codepublic class ThreadMain{public static void main(String[]

关于一段多线程程序的执行顺序
两个类

Java code
public class ThreadMain{    public static void main(String[] args)    {        Thread1 t1 = new Thread1();        t1.start();        System.out.println("I'm from threadMain");        System.out.println("wait for 5 seconds");        try        {            Thread.sleep(5000);        }        catch (Exception e)        {            e.printStackTrace();        }        System.out.println("threadMain comes back");    }}public class Thread1 extends Thread{    public void run()    {        System.out.println("I'm from thread1");    }}


为什么我的执行结果是:
I'm from threadMain
I'm from thread1
wait for 5 seconds
threadMain comes back

[解决办法]
线程的执行顺序是不确定的。 你要是需要按你的想法来得到结果,线程有个优先顺序的。 你可以设置
[解决办法]
你下次运行可能就不是这个顺序了
[解决办法]
调用了 t1.start();
两个线程都在执行 没有顺序的
[解决办法]
public void run()
{
try
{
Thread.sleep(500);
}
catch (Exception e)
{
e.printStackTrace();
}
System.out.println("I'm from thread1");
}


这样你再试试看
[解决办法]
探讨
引用:
引用:

引用:
线程的执行顺序是不确定的。 你要是需要按你的想法来得到结果,线程有个优先顺序的。 你可以设置

如果不设置优先级,主线程的级别最高,应该主线程执行完或中断,其他线程再执行,不是吗?

那还是多线程吗?


请指教,同一时间,cpu是如何分配……

[解决办法]
从你调用start()方法的瞬间,执行顺序就不确定了
[解决办法]
探讨
引用:
引用:

引用:
线程的执行顺序是不确定的。 你要是需要按你的想法来得到结果,线程有个优先顺序的。 你可以设置

如果不设置优先级,主线程的级别最高,应该主线程执行完或中断,其他线程再执行,不是吗?

那还是多线程吗?


请指教,同一时间,cpu是如何分配……

热点排行