1、log4j1寫日志多線程情況是阻塞的,log4j2不會(huì)阻塞,生產(chǎn)者只負(fù)責(zé)生產(chǎn),通過無鎖隊(duì)列ringbuffer的無阻塞內(nèi)存隊(duì)列作為緩沖(即使用Disruptor),多生產(chǎn)者多線程的競(jìng)爭(zhēng)是通過CAS實(shí)現(xiàn),性能較高,至于最后落地,雖然兩者都會(huì)調(diào)用synchronized方法寫入日志,log4j2的asynclogger支持多個(gè)消費(fèi)者,每個(gè)消費(fèi)者取一批待處理的日志,類似于分段...
www.dbjr.com.cn/article/2326...htm 2025-5-26