class Demo implements Runnable
{
public void run()
{
System.out.println("1、Demo --> 程序进入休眠状态。") ;
try {
Thread.sleep(2000) ;
}
catch (Exception e)
{
System.out.println("2、Demo --> 休眠中断") ;
return ;
}
System.out.println("3、Demo --> 程序正常退出。") ;
}
};public class ThreadDemo12
{
public static void main(String args[])
{
Thread t = new Thread(new Demo(),"LXH") ;
System.out.println(t.getName()+" --> 线程启动。") ;
t.start() ;
System.out.println("4、MAIN --> 让线程休眠") ;
try
{
// 程序至少可以运行2000毫秒
Thread.sleep(10000) ;
}
catch (Exception e)
{
}
System.out.println("5、MAIN --> 中断线程。") ;
t.interrupt() ;
System.out.println("6、MAIN --> 程序退出。") ;
}
};
这个程序的运行结果为什么4、MAIN --> 让线程休眠出现在1、Demo --> 程序进入休眠状态。的前面啊?
我想像的结果是:LXH-->让线程启动
1、Demo-->程序进入休眠状态
4、MAIN-->a让程序休眠
3、Demo-->程序正常退出
5、MAIN-->中断线程
6、MAIN-->程序退出
{
public void run()
{
System.out.println("1、Demo --> 程序进入休眠状态。") ;
try {
Thread.sleep(2000) ;
}
catch (Exception e)
{
System.out.println("2、Demo --> 休眠中断") ;
return ;
}
System.out.println("3、Demo --> 程序正常退出。") ;
}
};public class ThreadDemo12
{
public static void main(String args[])
{
Thread t = new Thread(new Demo(),"LXH") ;
System.out.println(t.getName()+" --> 线程启动。") ;
t.start() ;
System.out.println("4、MAIN --> 让线程休眠") ;
try
{
// 程序至少可以运行2000毫秒
Thread.sleep(10000) ;
}
catch (Exception e)
{
}
System.out.println("5、MAIN --> 中断线程。") ;
t.interrupt() ;
System.out.println("6、MAIN --> 程序退出。") ;
}
};
这个程序的运行结果为什么4、MAIN --> 让线程休眠出现在1、Demo --> 程序进入休眠状态。的前面啊?
我想像的结果是:LXH-->让线程启动
1、Demo-->程序进入休眠状态
4、MAIN-->a让程序休眠
3、Demo-->程序正常退出
5、MAIN-->中断线程
6、MAIN-->程序退出
解决方案 »
- JAVA如何操作键盘
- io 流
- 一个java超级简单的问题[super]语句
- 存在多个窗体时,当最上面的窗体运行时,如何使其他窗体无法捕获焦点,即不可用,当最上面的窗体消失后,下面的窗体才可以获得焦点?
- JTextArea如何支持自动换行?
- 关于Jbuilder的数据操作的问题
- but '1.2' is required.?在线等待,解决立即给分
- 如何执行打在一个包中的可执行程序?
- sharetop(天生很笨)你进来,你上次提供的MSSQL7/2000的JDBC有问题
- 求大师傅帮看一个程序的编写
- jsp如何才能让指定的 radiobutton1的第1个设置为选中状态?
- 为什么会出现这个问题啊!郁闷!请高手指点
没特别情况的话都是main执行玩再执行其他在mian里面启动的线程
既然你用了sleep来使线程阻塞
算好时间
顺序都能得出来的
请看think in java里面的线程章节
看完你这道题怎么改都能判断顺序了