首页 > 编程 > Java > 正文

Java线程的联合用法实例分析

2019-11-26 08:28:09
字体:
来源:转载
供稿:网友

本文实例讲述了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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表