gpt4 book ai didi

java - 如何等待线程和处理程序初始化

转载 作者:行者123 更新时间:2023-12-01 15:42:55 26 4
gpt4 key购买 nike

我正在编写一个应用程序。我遇到这样的场景,我必须创建两个线程,首先创建 thread1,然后创建 thread2。线程 1 必须发布到线程 2 的处理程序中。但由于系统速度很快,在创建线程 2 并初始化处理程序之前,线程 1 就开始将消息对象发布到线程 2。因此我面临着意想不到的行为。

请告诉我如何在线程 1 中等待线程 2 启动并初始化处理程序。我尝试了轮询机制,因为它会影响系统性能,因此此修复未被接受。

最佳答案

只需使用类似的东西:

// @ Thread 1
synchronized( someMonitor ) {
someMonitor.wait( /* time? */ );
}

// @ Thread 2
synchronized( someMonitor ) {
someMonitor.notify();
}

因此线程 1 将等待,直到线程 2 通知。我会在等待之前检查条件是否已设置。

关于java - 如何等待线程和处理程序初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7727009/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com