以前就接触过Java的多线程,只是多join()的使用不是很明白。学习了一下后,自己写了个例子,明白了许多。感觉就是在那个join的线程执行结束后才执行后面的语句。如下面的代码:
public class threadTest
{
public static final int N = 5;
public static void main(String[] args)
{
System.out.println("Start");
TestDemo test = new TestDemo(N);
test.start();
for(int i=0; i<N; i++)
System.out.println("A");
// try
// {
// test.join();
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
for(int i=0; i<N; i++)
System.out.println("$$");
System.out.println("End");
}
}
class TestDemo extends Thread
{
private int n;
public TestDemo(int n)
{
this.n = n;
}
public void run()
{
for(int i=0; i<n; i++)
System.out.println("******");
}
}
输出结果为:
Start
A
A
A
A
A
$$
$$
$$
$$
$$
End
******
******
******
******
******
将上面注释掉的代码取消注释,输出结果为:
Start
A
A
A
A
A
******
******
******
******
******
$$
$$
$$
$$
$$
End