时间:2021-05-20
本文实例讲述了Java线程的联合用法。分享给大家供大家参考,具体如下:
一 点睛
在Java中,线程控制提供了join()方法。该方法的功能是把指定的线程加入到当前线程,从而实现将两个交替执行的线程,合并为顺序执行的线程。比方说,在线程A中调用了线程B的join()方法,线程A就会立刻挂起(suspend),一直等下去,直到它所联合的线程B执行完毕为止,A线程才重新排队等待CPU资源,以便恢复执行。这种策略通常会在main()主线程内,用以等待其他线程完成后,再结束main()主线程。
二 代码
public class ThreadJoin{ public static void main( String[] args ) { ThreadTest t = new ThreadTest(); Thread pp = new Thread( t ); pp.start(); int flag = 0; for( int i = 0; i < 5; ++i ) { if( flag == 3 ) { try { pp.join(); // 强制运行完pp线程后,再运行后面的程序 } catch( Exception e ) // 会抛出InterruptedException { System.out.println( e.getMessage() ); } } System.out.println( "main Thread " + flag ); flag += 1; } }}class ThreadTest implements Runnable{ public void run() { int i = 0; for( int x = 0; x < 5; ++x ) { try { Thread.sleep( 1000 ); } catch( InterruptedException e ) { e.printStackTrace(); } System.out.println( Thread.currentThread().getName() + " ---->> " + i ); i += 1; } }}三 运行
main Thread 0
main Thread 1
main Thread 2
Thread-0 ---->> 0
Thread-0 ---->> 1
Thread-0 ---->> 2
Thread-0 ---->> 3
Thread-0 ---->> 4
main Thread 3
main Thread 4
更多java相关内容感兴趣的读者可查看本站专题:《Java进程与线程操作技巧总结》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例分析了Java线程调度之线程休眠用法。分享给大家供大家参考。具体分析如下:Java线程调度是Java多线程的核心,只有良好的调度,才能充分发挥系统的性能
本文实例讲述了python中threading超线程用法。分享给大家供大家参考。具体分析如下:threading基于Java的线程模型设计。锁(Lock)和条件
本文实例讲述了Java线程之守护线程(Daemon)用法。分享给大家供大家参考。具体如下:守护线程(Daemon)Java有两种Thread:“守护线程Daem
本文实例分析了java多线程中的volatile和synchronized用法。分享给大家供大家参考。具体实现方法如下:复制代码代码如下:packagecom.
本文实例讲述了Java线程等待用法。分享给大家供大家参考,具体如下:线程等待publicclassHello{publicstaticvoidmain(Stri