此代码是否存在任何同步/引用问题?
(假设myStrings已经实例化了。)
MySynch.java:
public class MySynch
{
public static String[] myStrings = new String[10];
public static void updateStrings()
{
synchronized (myStrings)
{
myStrings = new String[10]; // Safe?
myStrings[0] = something[0];
myStrings[1] = somethingElse[4];
}
}
}
对象数组myStrings可以被多个线程读取,并且有一个线程通过运行来更新(写入)它updateStrings()。从它读取的线程也将使用一个synchronized (myStrings)块来读取它,当然,为了安全起见。
锁定数组并在锁定它的块内再次实例化它synchronized(如上所述)是否存在问题?