阻塞功能:最有特色的两个带有阻塞功能的方法是:
    take():获取并移除队列的头节点,如果执行take的时候,队列里无数据,则阻塞,直到队列里有数据
    put():插入元素。如果队列已满,就无法继续插入,则阻塞,直到队列里有了空闲空间

    BlockingQueue主要方法:

    1. 阻塞 put,take: 队列满了,调用put会阻塞;队列为空,调用take会阻塞;
    2. 异常 add,remove,element:队列满了,调用add会抛出异常;队列为空,调用remove会抛出异常;element返回队列头元素, 如果为空,抛异常
    3. null offer,poll,peek:队列满了,调用offer返回false,队列为空,调用poll返回null,peek取出队列元素,但不从队列删除元素

    image.png