线程4 :
public
class
TestThread4
...
{ 
public static void main(String args[])...{
Runner4 r = new Runner4();
Thread t = new Thread(r);
t.start();
for(int i=0;i<100000;i++)...{
if(i%10000==0 & i>0)
System.out.println("in thread main i=" + i);
}
System.out.println("Thread main is over");
r.shutDown();
//t.stop();
}
}


class
Runner4
implements
Runnable
...
{
private boolean flag=true;

public void run() ...{
int i = 0;
while (flag==true) ...{
System.out.print(" " + i++);
}
}

public void shutDown() ...{
flag = false;
}
}
线程5:
public
class
TestThread5
...
{ 
public static void main(String args[])...{
Runner5 r = new Runner5();
Thread t = new Thread(r);
t.start();

try...{
t.join();//这个方法其实就是特殊的wait,wait方法一般都需要别人notify(当然也可以设置超时),但是join方法就不需要别人notify了
}catch(InterruptedException e)...{
}

for(int i=0;i<50;i++)...{
System.out.println("主线程:" + i);
}
}
}


class
Runner5
implements
Runnable
...
{
public void run() ...{
for(int i=0;i<50;i++) ...{
System.out.println("SubThread: " + i);
}
}
}
本文介绍了两个Java线程示例:一个展示了如何通过设置标志位来控制线程的运行与停止;另一个则演示了使用join方法等待一个线程完成后再继续执行主线程的方法。


被折叠的 条评论
为什么被折叠?



