如何理解 Java 中 StringBuffer 是執行緒安全的而 StringBuilder 不是執行緒安全的?\n


StringBuffer(執行緒安全)

  • StringBuffer 是執行緒安全的,這意味著它們具有同步方法來控制訪問,以便一次只有一個執行緒可以訪問 StringBuffer 物件的同步程式碼。
  • 在多執行緒環境中,當多個執行緒可能同時嘗試訪問同一 StringBuffer 物件時,通常安全地使用 StringBuffer 物件。

StringBuilder(非執行緒安全)

  • StringBuilder 不是同步的,因此不是執行緒安全的。由於沒有同步,StringBuilder 的效能可能優於 StringBuffer。
  • 如果我們在單執行緒環境中工作,則使用 StringBuilder 而不是 StringBuffer 可能提高效能。對於其他情況也是如此,例如 StringBuilder 區域性變數,其中只有一個執行緒將訪問 StringBuilder 物件。


更新於: 2019-07-30

3K+ 瀏覽量

啟動你的 事業

完成課程後獲得認證

開始
廣告
© . All rights reserved.