慕標(biāo)琳琳
2021-09-12 19:53:13
誰(shuí)能告訴我是否StringJoiner是線程安全的?我知道 和 之間的區(qū)別StringBuilder,StringBuffer但無(wú)法找到有關(guān)StringJoiner.
3 回答

飲歌長(zhǎng)嘯
TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
不同于StringBuffer
方法(像append()
),這是同步的,方法StringJoiner
(像add()
)不是synchronized
。因此它不是 線程安全的。
來(lái)自OpenJDK 的源代碼:

慕容森
TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊
文檔中的零信息甚至?xí)凳揪€程安全屬性。但是,它有一種StringJoiner::merge
經(jīng)常被忽視的方法。這用于combine
通過(guò)兩個(gè)單獨(dú)的線程將兩個(gè) StringJoiners 連接在一起;并且在涉及多個(gè)線程時(shí)由流 API 在內(nèi)部使用。
所以,不,它根本不是線程安全的;但可用于合并兩個(gè)不同的StringJoiner
(s)。
添加回答
舉報(bào)
0/150
提交
取消