此代码是否存在任何同步/引用问题?
(假设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
(如上所述)是否存在问题?