BlockingQueue存取方法

本篇文章對BlockingQueue的源碼進行分析,主要是對BlockingQueue的出隊入隊方法進行分析,以加深印象

BlockingQueue是Queue的子接口

//入隊方法 四個

boolean add(E e);    //元素入隊,如果入隊成功返回true,如果失敗則拋出異常

boolean offer(E e); //元素入隊,如果入隊成功返回true,如果失敗則返回false

void put(E e) throws InterruptedException; //如果隊列時發現隊列滿了,會一直等待下去,直到拋出InterruptedException

boolean offer(E e, long timeout, TimeUnit unit) //如果隊列滿了,會等待timeout時間,然後重新插入,其他和offer方法一樣
        throws InterruptedException;

//出隊方法 三個

E take() throws InterruptedException;  //如果隊列爲空,則會等待,直到隊列不爲空

E poll(long timeout, TimeUnit unit)   //如果隊列爲空,則等待一定timeout,然後如果隊列仍爲空,則返回null,否則直接返回元素
        throws InterruptedException;

boolean remove();  //繼承父接口Queue的remove方法,如果爲空則拋出NoSuchElementException異常

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章