Programowanie > Java

Algorytm pięciu filozofów - opis

(1/1)

kiprom:
Witam serdecznie. Mam napisać projekt który rozwiąże problem ucztujących filozofów sugerując się na poniższym kodzie który napisał jeden z naszych studentów (taka mała podpowiedź od wykładowcy), problem polega na tym że nie wiem co gdzie i jak się dzieje. Byłbym wdzięczny za opis do tego kodu. Wstawiam tylko część zawierającą rozwiązanie problemu ucztujących filozofów. A oto kod

--- Kod: ---
class Filozof extends Thread{

  private static int z=1;
  private int nr;
  private Stol stolik;

  public Filozof(Stol s) {
    nr = z;
    z++;
    stolik = s;
  }

  public void run() {
    try {
      for(;;) {
        sleep(2000);
        if (stolik.wezPaleczke(nr)) {
          sleep(1000+(int)(Math.random()*5000));
          stolik.polozPaleczke(nr);
        }
      }
    }
    catch (InterruptedException e) { }
  }

}


class Stol {

  private Posilek fil;
  private int[] paleczka = new int[5]; // 1 - paleczka w uzyciu, 0 - dostepna
  private int[] je = new int[5];

  public Stol(Posilek r) {
    fil = r;
    for (int i=0;i

mateo86:
A wiesz czego dotyczy problem ucztujących filozofów?
Myślę, że jeśli zrozumiesz dokładnie ten problem, to kod nie będzie aż tak trudny do zrozumienia.

Kod jest na prawdę prosto napisany, szczególnie że jest po polsku - właściwie sam sugeruje co się w danej chwili dzieje.

Nawigacja

[0] Indeks wiadomości

Idź do wersji pełnej