1、BlockingQueue也是java.util.concurrent下的主要用来控制线程同步的工具
主要方法是:put、take 一堆阻塞存取;add、poll一对非阻塞存取
插入:
1)add(object)把object加入到blockingqueue里,如果blockingqueue可以容纳,则返回true,否则抛出异常
2)offer(object)表示如果可能的话,将object加到blockingqueue,如果blockingqueue可以融安,则返回true,否则返回false
3)put(object)把object加到blockingQueue没有空间,则调用此方法的线程被阻断知道blockingqueue里面没有空间继续
读取:
4)poll(time)取走blockingqueue里排在首位的对象,若不能立即取出,则可以等time参数规定的时间,取不到时返回null
5)take()取走blockingqueue里排在首位对象,若blockingqueue为空,阻断进入等待状态知道blocking有新的对被加入为止
主要方法是:put、take 一堆阻塞存取;add、poll一对非阻塞存取
插入:
1)add(object)把object加入到blockingqueue里,如果blockingqueue可以容纳,则返回true,否则抛出异常
2)offer(object)表示如果可能的话,将object加到blockingqueue,如果blockingqueue可以融安,则返回true,否则返回false
3)put(object)把object加到blockingQueue没有空间,则调用此方法的线程被阻断知道blockingqueue里面没有空间继续
读取:
4)poll(time)取走blockingqueue里排在首位的对象,若不能立即取出,则可以等time参数规定的时间,取不到时返回null
5)take()取走blockingqueue里排在首位对象,若blockingqueue为空,阻断进入等待状态知道blocking有新的对被加入为止