Guy*_*ald 1 multithreading future wait guava
我有一个私有的Stack S,它填充了来自类外的对象(使用方法).ListenableFuture应该读取堆栈并从中检索一个Object,但如果堆栈为空,它应该等待一个对象插入堆栈然后检索它.我不确定如何实现这一点.
我的想法是使用Wait/Notify作为ListenableFuture,但这是正确的逻辑(与Guava合作)?我还有其他选择吗?
提前谢谢,盖伊
ListenableFuture和Guava根本不会涉及到这一点.要做到这一点的方法是实现与堆栈LinkedBlockingDeque,必须元素添加到堆栈使用addfirst仅方法,并使用pollFirst(长,TIMEUNIT)等待指定的时间量为对象来获得插入.
如果您可以使用库支持执行相同的工作,切勿使用等级和通知等低级并发工具.