当前位置:七道奇文章资讯编程技术Java编程
日期:2011-01-26 02:54:00  来源:本站整理

Java多线程初学者指南(5):join办法的操纵[Java编程]

赞助商链接



  本文“Java多线程初学者指南(5):join办法的操纵[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

    在上面的例子中多次利用到了Thread类的join办法.我想大家大概已经猜出来join办法的功效是什么了.对,join办法的功效就是使异步履行的线程变成同步履行.也就是说,当调用线程实例的start办法后,这个办法会当即返回,假如在调用start办法后后需求利用一个由这个线程计算得到的值,就必须利用join办法.假如不利用join办法,就不能保证当履行到start办法背面的某条语句时,这个线程一定会履行完.而利用join办法后,直到这个线程退出,程序才会往下履行.下面的代码演示了join的用法.

package mythread;

public class JoinThread extends Thread
{
    
public static volatile int n = 0;

    
public void run()
    {
        
for (int i = 0; i < 10; i++, n++)
            
try
            {
                sleep(
3);  // 为了使运行后果更随机,耽误3毫秒
            }
            
catch (Exception e)
            {
            }                                      
    }
    
public static void main(String[] args) throws Exception
    {
        Thread threads[] 
= new Thread[100];
        
for (int i = 0; i < threads.length; i++)  // 成立100个线程
            threads[i] = new JoinThread();
        
for (int i = 0; i < threads.length; i++)   // 运行方才成立的100个线程
            threads[i].start();
        
if (args.length > 0)  
            
for (int i = 0; i < threads.length; i++)   // 100个线程都履行完后持续
                threads[i].join();
        System.out.println(
"n=" + JoinThread.n);
    }
}

    在例程2-8中成立了100个线程,每个线程使静态变量n增添10.假如在这100个线程都履行完后输出n,这个n值应当是1000.

    1.  测试1

    利用以下的号令运行上面程序:

java mythread.JoinThread

    程序的运行后果以下:

n=442

    这个运行后果大概在差别的运行环境下有一些差别,但普通n不会等于1000.从上面的后果可以必定,这100个线程并未都履行完就将n输出了.

    2.  测试2

    利用以下的号令运行上面的代码:

    在上面的号令行中有一个参数join,其实在号令行中可以利用任何参数,只要有一个参数便可以,这里利用join,只是为了表明要利用join办法使这100个线程同步履行.

    程序的运行后果以下:

n=1000

    无论在什么样的运行环境下运行上面的号令,城市得到相同的后果:n=1000.这充分阐明了这100个线程必定是都履行完了,因此,n一定会等于1000.


  以上是“Java多线程初学者指南(5):join办法的操纵[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .