StringBuffer 是線程安全的,因為它的關鍵方法(比如 append、insert、delete 等)都是同步的,即通過 synchronized 關鍵字加鎖來保證線程安全性。這意味著當多個線程同時操作同一個 StringBuffer 對象時,只有一個線程能夠進入關鍵方法,其他線程需要等待,確保了線程安全性。
但是,由于 synchronized 關鍵字會引入性能開銷,因此在不需要線程安全的情況下,推薦使用 StringBuilder,它是非線程安全的,但性能更好。只有在需要線程安全性的場景下才使用 StringBuffer。