StringBuffer是安全的,StringBuilder是不安全的,那麼這個多線程環境具體是指什麼呢?
請問下Java Web項目當中,action類屬於什麼多線程環境嗎?
多線程環境就是應用程序中啟動了多個線程,共享變量可能同時被多個線程同時訪問的場景,如果是這樣的話,對這些共享變量的訪問必須做同步處理才能保證數據的一致性。StringBuilder類的方法作了同步即使用了synchronized加鎖,所以能保證共享數據的正確,是線程安全的,而StringBuffer沒有,所以是不安全的。
單線程環境就是整合應用程序中只有一個主線程,沒有其他線程競爭。多線程環境下必須進行數據同步處理,才能保證正常的邏輯。