同步涉及java中的静态方法

假设我有一个Utility类,

public class Utility {

    private Utility() {} //Don't worry, just doing this as guarantee.

    public static int stringToInt(String s) {
        return Integer.parseInt(s);
    }
};

现在,假设在多线程应用程序中,线程调用了Utility.stringToInt()方法,当操作进入方法调用时,另一个线程调用传递不同s的相同方法.
在这种情况下会发生什么? Java会锁定静态方法吗?

解决方法:

这里没有问题.每个线程都将使用自己的堆栈,因此不同的s之间没有冲突点.并且Integer.parseInt()是线程安全的,因为它只使用局部变量.

上一篇:c# – List属性的线程安全访问


下一篇:java – 有效的重新排序 – 在新的JMM下