Я знаю, что Семафор просто хранит количество доступных разрешений вместо того, чтобы использовался фактический объект разрешений, но в этом случае я надеюсь получить каждое разрешение с определенным значением.Ниже мой проект, который пытается получить идентификатор для каждого разрешения (таблицы), я знаю, что это неправильно, поскольку он возвращает только предыдущее значение разрешений вместо определенного значения, которое он получил (который я надеюсь присвоить).Итак, есть ли способы присвоить значение для разрешений семафор?
public class Table extends Semaphore{
int total_table;
public Table(int permits) {
super(permits);
total_table = permits;
}
public int table_id(){
return total_table - availablePermits();
}
public void getTable(int cust_id){
try{
super.acquire();
System.out.println("Customer " + cust_id + " : sit at Table-" + table_id());
}catch (Exception e){}
}
public void leaveTable(int cust_id, int t_id){
super.release();
System.out.println("Customer " + cust_id + " : leaving Table-" + table_id());
}