gpt4 book ai didi

multithreading - Guava ListenableFuture 如何等待来自堆栈的信息?
转载 作者:行者123 更新时间:2023-12-03 13:15:06 25 4
gpt4 key购买 nike

我有一个专用的Stack S,里面装满了类外部的对象(使用方法)。
ListenableFuture应该读取堆栈并从中检索对象,
但是,如果堆栈为空,则应等待将对象插入到堆栈中,然后再检索它。我不确定如何实现这一点。

我的想法是将Wait/Notify用于ListenableFuture,但这是正确的逻辑(与Guava配合使用)吗?
我还有什么其他选择?

提前致谢,
盖伊

最佳答案

ListenableFuture和Guava根本不参与其中。这样做的方法是使用LinkedBlockingDeque实现堆栈,让方法使用addFirst将元素添加到堆栈中,并使用pollFirst(long,TimeUnit)等待指定的时间来插入对象。

切勿使用低级并发工具(例如,等待和通知)来通知您是否可以在库支持下完成相同的工作。

关于multithreading - Guava ListenableFuture <Object>如何等待来自堆栈的信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8636608/

25 4 0