gpt4 book ai didi

java - 线程之间的通信被阻止

转载 作者:行者123 更新时间:2023-12-02 06:05:23 24 4
gpt4 key购买 nike

正如我的标题所说,我必须实现一个程序,其中线程通过发送消息(可序列化对象)相互通信。事实上,我希望线程在没有等待消息的情况下被阻塞。我已经在 Google 上查过,找到了 2 个解决方案:第一个解决方案使用 ObjectStream 和 PipedStream,第二个解决方案使用 BlockingQueue。我的问题是,这两种解决方案似乎不是最好的一种,因为 PipedStream 有很多错误(我在进行测试时有很多错误),并且 BlockingQueue 在队列为空时不会阻塞线程。

大家有办法解决我的问题吗?

提前致谢;)

最佳答案

这基本上是一个生产者/消费者,其中线程可以是生产者和消费者中的一个或两者。我相信 BlockingQueue 可以为您提供所需的解决方案 ( http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingQueue.html )。特别是看看 put()take() 方法。

关于java - 线程之间的通信被阻止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22337592/

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