java中的blockingquene如何监控有数据写入
blockingquene是线程安全的,我在用take的时候,如果没有数据他会阻塞;
想象一下,程序有两个模块,是两个线程,一个线程写入,一个线程读取;写入倒没多大问题,关键是读取,需要在线程里边搞个死循环,不停的去take数据,没有数据的时候就阻塞,觉得这样不够优雅,有没有什么方法(定义为A),可以一开始以监控状态监控blockingquene,一旦从无数据状态变为有数据则通过回调通知线程2进行读取,然后A暂停自己的监控行为,当数据被线程2读取完的时候,线程2设置A继续监控行为。
请各路大佬指教,谢谢。