本帖最后由 黑马-张扬 于 2012-11-30 15:28 编辑
// ////////////////////////////////////////////////////////
// J_ThreadDaemon.java
// ////////////////////////////////////////////////////////
public class J_ThreadDaemon extends Thread
{
public void run( )
{
for(int i=0; true; i++)
{
System.out.println("线程在运行: " + i);
try
{
sleep((int)(Math.random( ) * 1000));
}
catch( InterruptedException e )
{
System.err.println(e);
} // try-catch结构结束
} // for循环结束
} // 方法run结束
public static void main(String args[ ])
{
J_ThreadDaemon t = new J_ThreadDaemon( );
t.setDaemon(true);
t.start( );
if (t.isDaemon( ))
System.out.println("创建一个后台线程");
else
System.out.println("创建一个用户线程");
System.out.println("主方法运行结束");
} // 方法main结束
} // 类J_ThreadDaemon结束
输出:
创建一个后台线程
线程在运行: 0
主方法运行结束
按照我的理解应该是 t.start( );之后就会执行Run函数,输出:线程在运行: 0,创建一个后台线程应该是这个顺序,后面的会每次运行都回变换,为什么不是我想的这样? |