[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