LinkedBlockingQueue和ArrayBlockingQueue区别和注意点

    技术2022-07-10  155

    LinkedBlockingQueue和ArrayBlockingQueue 俩个使用注意 我们创建一个全局线程池的时候会传一个这样的类型进去,这里就需要注意下俩个的区别 通俗来说LinkedBlockingQueue会同步ArrayBlockingQueue 则是你的正常思维异步,所以前者也会更占用内存。使用时机你要自己注意了。 另外LinkedBlockingQueue它不会强制要求你传线程数,但是建议你一定要传,因为你不传默认就是无限,MAX,这样操作可能会导致你的内存溢出,后者则会强制要求你传递一个线程数。

    val ThreadPool = ThreadPoolExecutor( 5, 100, 20, TimeUnit.SECONDS, ArrayBlockingQueue<Runnable>(100) )
    Processed: 0.009, SQL: 9