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