Java线程的联合用法实例分析
本文实例讲述了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程序设计有所帮助。
栏 目:JAVA代码
下一篇:使用XSD校验Mybatis的SqlMapper配置文件的方法(2)
本文标题:Java线程的联合用法实例分析
本文地址:http://www.codeinn.net/misctech/29271.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




