[Java多線程] LinkedBlockingQueue


java.util.concurrent包下的新類。LinkedBlockingQueue就是其中之一,是一個阻塞的線程安全的隊列,底層采用鏈表實現。

LinkedBlockingQueue

LinkedBlockingQueue構造的時候若沒有指定大小,則默認大小為Integer.MAX_VALUE,當然也可以在構造函數的參數中指定大小

  • 創建一個線程池,隊列基於LinkedBlockingQueue
lazy val executor =  new ThreadPoolExecutor(20, 20, 0L, TimeUnit.MILLISECONDS,
      //基於阻塞隊列,大小設置為100
      new LinkedBlockingQueue(100),
      //拒絕策略,當隊列滿了之后,又達到了max size,將會將任務提交到主線程中進行處理
      new ThreadPoolExecutor.CallerRunsPolicy()
    )
    // println(s"THREADS = $THREADS")
    // Executors.newFixedThreadPool(THREADS)
  }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM