造轮子之MemorySafeLinkedBlockingQueue
造輪子之MemorySafeLinkedBlockingQueue-LinkBlockingQueue改進(jìn)
LinkBlockingQueue改進(jìn)
問題背景
https://github.com/apache/dubbo/pull/9722/files
使用線程池的同學(xué)對于標(biāo)題中的隊列想必都有過使用,但上述隊列使用不當(dāng)時則會造成程序OOM ,那怎么來控制呢
?
使用ArrayBlockingQueue?如何來評估長度 ?
是否有一個完美的解決方案呢,MemorySafeLinkedBlockingQueue則通過對內(nèi)存的限制判斷盡面控制隊列的容量 ,完成解決了可能存在的OOM問題