热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java多线程:使用join方法实现线程同步

在Java中,`join()`方法用于使当前线程暂停,直到指定的线程执行完毕后再继续执行。此外,`join(longmillis)`方法允许当前线程在指定的毫秒数后继续执行。

在 Java 中,`join()` 方法用于使当前线程暂停,直到指定的线程执行完毕后再继续执行。此外,`join(long millis)` 方法允许当前线程在指定的毫秒数后继续执行。

下面是一个示例代码,展示了如何使用 `join()` 和 `join(long millis)` 方法来实现线程同步:

public class ThreadJoinExample {
    public static void main(String[] args) {
        final Thread threadA = new Thread(() -> {
            for (int i = 0; i <10; i++) {
                System.out.println(Thread.currentThread().getName() + "...a");
            }
        });

        Thread threadB = new Thread(() -> {
            for (int i = 0; i <10; i++) {
                if (i == 2) {
                    try {
                        threadA.join(1000); // 插队指定的时间,过了指定时间后,两条线程交替执行
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                System.out.println(Thread.currentThread().getName() + "...b");
            }
        });

        threadA.start();
        threadB.start();
    }
}

在这个示例中,`threadA` 和 `threadB` 是两个独立的线程。当 `threadB` 运行到第 3 次循环时,它会调用 `threadA.join(1000)`,这会使 `threadB` 暂停 1000 毫秒,等待 `threadA` 执行一段时间后再继续执行。这种机制可以用于实现线程间的同步和协调。


推荐阅读
author-avatar
魂丢丶她城
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有