質問はここにあります: "スレッドセーフの選択の劇場にとって最高のパフォーマンスを持つこれらの選択肢はどれですか?Javaのロック<この問題は何ですか?>
private static List<ReadWriteLock> lockList = initializeLocks();
public boolean bookSeat(int seatNumber, int customerID){
lockList.get(seatNUmber).writeLock().lock;
try{
Seat seat = listOfSeats.get(seatNumber);
if(seat.isAvailable()){
seat.setCustomer(customerID);
return true;
} else { return false; }
} // end try
finally { lockList.get(seatNumber).writeLock().unlock; }
}
対
public static List<Lock> lockList = initializeLocks();
public boolean bookSeat(int seatNumber, int customerID){
lockList.get(seatNumber).lock();
try{
Seat seat = listOfSeats.get(seatNumber);
if(seat.isAvailable()){
seat.setCustomer(customerID);
return true;
} else { return false; }
} // end try
finally { lockList.get(seatNumber).unlock(); }
}
そんなにみんなありがとう!私の理解から、私の学校の教授から集まったものから、明らかに両方の作品は、オプション2が正しいものです。私はなぜ、どちらが他のものより優れているのか分かりません。あなたたちが助けてくれることを願っています!ありがとうございました!
ライトロックについての部分は正しいですか?書き込みロックは書き込みロックを取らないようにしますか? – Kayaman