Thread提供了让一个线程等待另一个线程完成的方法——join()方法,当在某个程序执行中调用其他线程的join()方法时,调用线程将被阻塞,直到被join()方法加入的join线程执行完为止。
这个方法通常由使用线程的程序调用,以将大问题划分成几个小问题,每个小问题分配一个线程,当所有的小问题都得到处理后,在调用主线程来进一步操作。- public class JoinThread extends Thread
- {
- public JoinThread(String name)
- {
- super(name);
- }
- public void run()
- {
- for (int i=0; i<100; i++)
- {
- System.out.println(getName()+" "+i);
- }
- }
- public static void main(String[] args)throws Exception
- {
- new JoinThread("新线程").start();
- for (int i=0; i<100; i++)
- {
- if(i==20)
- {
- JoinThread jt = new JoinThread("被Join的线程");
- jt.start();
- jt.join();
- }
- System.out.println(Thread.currentThread().getName()+" "+i);
- }
- }
- }
复制代码 |
|