Java线程的联合用法实例分析
本文实例讲述了Java线程的联合用法。分享给大家供大家参考,具体如下:
一点睛
在Java中,线程控制提供了join()方法。该方法的功能是把指定的线程加入到当前线程,从而实现将两个交替执行的线程,合并为顺序执行的线程。比方说,在线程A中调用了线程B的join()方法,线程A就会立刻挂起(suspend),一直等下去,直到它所联合的线程B执行完毕为止,A线程才重新排队等待CPU资源,以便恢复执行。这种策略通常会在main()主线程内,用以等待其他线程完成后,再结束main()主线程。
二代码
publicclassThreadJoin { publicstaticvoidmain(String[]args) { ThreadTestt=newThreadTest(); Threadpp=newThread(t); pp.start(); intflag=0; for(inti=0;i<5;++i) { if(flag==3) { try { pp.join();//强制运行完pp线程后,再运行后面的程序 } catch(Exceptione)//会抛出InterruptedException { System.out.println(e.getMessage()); } } System.out.println("mainThread"+flag); flag+=1; } } } classThreadTestimplementsRunnable { publicvoidrun() { inti=0; for(intx=0;x<5;++x) { try { Thread.sleep(1000); } catch(InterruptedExceptione) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName()+"---->>"+i); i+=1; } } }
三运行
mainThread0
mainThread1
mainThread2
Thread-0---->>0
Thread-0---->>1
Thread-0---->>2
Thread-0---->>3
Thread-0---->>4
mainThread3
mainThread4
更多java相关内容感兴趣的读者可查看本站专题:《Java进程与线程操作技巧总结》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。