Cześć!
Mam taki lekki problem związany jak w temacie napisałem uogólnieniem synchronizacji wątków. Robię sobie programik związany z systemem bibliotecznym, wielu czytelników (wątków) chce uzyskać dostęp do książki, które w zależności od sytuacji są, bądź ich nie ma. W klasie czytelnik:

public class Czytelnik extends Osoba implements Runnable
{
    int numerKartyBiblioteczej;
    public Czytelnik(String imie, String Nazwisko, int numerKartyBiblioteczej) 
    {
        super(imie, Nazwisko);
        this.numerKartyBiblioteczej=numerKartyBiblioteczej;
        
    }
public void ZwrocKsiazke(ArrayList<Ksiazka> lista, Ksiazka ksiazka)
    {
    lista.add(ksiazka);
    ksiazka.setDostepnosc(true);
    Biblioteka.listaWypozyczonych.remove(ksiazka);
  
    }
  public void WypozyczKsiazke(ArrayList<Ksiazka> lista, Ksiazka ksiazka)
    {
        if(!lista.isEmpty())
        {
            
    
            lista.remove(ksiazka);
            ksiazka.setDostepnosc(false);
            Biblioteka.listaWypozyczonych.add(ksiazka);
            
        }           
        
        else
            System.out.println("Aktualnie ksiazek");
    }
  public void obslugaZamowieniaKsiazki()
  {
      
  }

    @Override
    public void run()
    {
        
    }

    
}

mam metodę Wypożyczenia książki i chce właśnie, żeby ta akcja działa się po .start() konkretnego wątku. To znaczy w metodzie run() należy właśnie odpalić metodę wypożycz, która żąda podania jako argumenty listę książek(listy, których jest na przykład 5 takich samych książek) no i konkretną książkę(ktore są obietami w liście). Miałby ktoś pomysł jak się do tego wziąć? siedzę już 30-40 minut i nie mogę wpaść na jakieś fajne rozwiązanie :/