2016-04-09 24 views
-3

Bu örnekte, üretici/tüketiciler hakkında bilgi edinmeme yardımcı olması için okulda bana bir örnek verilmiş ve bunu anlamıyorum. Bütün günümü bunun için harcadım ve hiçbir yere gitmiyorum.Bu üretici/tüketici örneğini anlamıyorum

Neden herkes kaçmayacağını söyleyebilir mi? Bu hat hiçbir n

olarak orada

this.capacity = spaces = capacity; 

olmalıdır

capacity = spaces = n; 

derleme değil

Teşekkür

public class CarPark { 
    public static void main(String[] args) { 

     CarParkControl carpark = new CarParkControl(4); 

     Thread arrivals = new Thread(new Arrivals(carpark)); 

     Thread departures = new Thread(new Departures(carpark)); 

     arrivals.start(); 
     departures.start(); 

    }//main 
}//CarPark 



class Arrivals implements Runnable { 

    CarParkControl carpark; 
    Arrivals(CarParkControl c) {carpark = c;} 

    public void run() { 
     try { 
     while(true) { 
      carpark.arrive(); 
      Time.delay(RandomGenerator.integer(0,520)); 
     } 
     } catch (InterruptedException e){} 
    } 
} 



class Departures implements Runnable { 

    CarParkControl carpark; 
    Departures(CarParkControl c) {carpark = c;} 

    public void run() { 
     try { 
     while(true) { 
      carpark.depart(); 
      Time.delay(RandomGenerator.integer(0,520)); 
     } 
     } catch (InterruptedException e){} 
    } 
} 



class CarParkControl { 

    protected int spaces; 
    protected int capacity; 

    CarParkControl(int capacity) 
    {capacity = spaces = n;} 

    synchronized void arrive() throws InterruptedException { 
     while (spaces==0) wait(); 
     --spaces; 
     notify(); 
    }//arrive 

    synchronized void depart() throws InterruptedException { 
     while (spaces==capacity) wait(); 
     ++spaces; 
     notify(); 
    }//depart 

}//CarParkControl 
+2

Lütfen aldığınız hataları gönderin. –

+2

Sence kaçmayacak mı? Bu program ekrana hiçbir şey yazdırmaz, bu yüzden boş bir ekran alırsanız, bu normaldir. –

+2

"CarParkControl" Yapıcısında n n var? "N" yok! – ArcticLord

cevap

1

Sana prog almak önermek çalıştırmayı denemeden önce derlemek için ram.

İlgili konular