当前位置: 代码迷 >> Web前端 >> java线程中join()步骤使用
  详细解决方案

java线程中join()步骤使用

热度:130   发布时间:2012-11-23 00:03:43.0
java线程中join()方法使用
public class JoinThread extends Thread {

    public static int n = 0;

    static synchronized void inc() {
        n++;
    }

    public void run() {
        for (int i = 0; i < 10; i++) {
            try {
                inc();
                System.out.println(n);
                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);
    }
}

?

??? 使当前线程必须等待调用join的线程执行完,才能继续执行。

  相关解决方案