下面是一個例子,例如:python
public class TestUtil { private static User user=new User(); public static void setName(String name){ //在靜態方法中調用了全局變量並進行了修改操做,線程不安全 user.setUsername(name); } public synchronized static void setName1(String name){ //在靜態方法中調用了全局變量並進行了修改操做,使用了同步關鍵字,線程安全 user.setUsername(name); } }
總結:只要你的靜態方法不訪問全局變量的話,就不會有併發問題web
訪問全局變量確定會出現併發問題,這是毫無疑問的
靜態方法內部的變量,都是局部變量,每次調用靜態方法時都會從新分配內存空間,因此是安全的安全
也就是是說只要你的靜態方法不訪問全局變量的話,就不會有併發問題多線程