Wenn ich ein Array-Objekt der Länge 10:
habeObject[] arr=new Object[10];
Der Zugriff auf jedes Objekt schließt sich gegenseitig aus, der Zugriff zwischen mehreren Objekten kann jedoch gleichzeitig erfolgen.
Dann können Sie mit synchonized Folgendes tun:
synchoronized(arr[i]){
//...
}
Ich würde gerne fragen, wie man eine solche Sperre implementiert, wenn man Reentrantlock verwendet?
Hinweis: Muss ich für dieses Nutzungsszenario 10 Lock-Arrays gleichzeitig erstellen? Lock[] lockList=new ReentrantLock[10]
if(lockList[i].trylock())[
//
}
Ist das so?
初始化锁:
需要加锁时: