Advertisement
Guest User

Untitled

a guest
Oct 1st, 2014
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.58 KB | None | 0 0
  1. package grandCanyon;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. public class Skywalk {
  6.    
  7.     private ArrayList<Besucher> aktuelleBesucher;
  8.     public static int anzahlBesucher;
  9.    
  10.     public Skywalk(){
  11.         this.aktuelleBesucher = new ArrayList<Besucher>(120);
  12.     }
  13.  
  14.     public void betreten(Besucher b){
  15.         if(this.aktuelleBesucher.size() <= 120){
  16.             this.aktuelleBesucher.add(b);
  17.             this.anzahlBesucher++;
  18.             b.start();
  19.         }else{
  20.             System.out.println("Der Skywalk ist leider bereits voll! Kommen Sie bitte später wieder.");
  21.         }
  22.     }
  23.    
  24.     public void verlassen(Besucher b){
  25.         this.aktuelleBesucher.remove(b);
  26.         this.anzahlBesucher--;
  27.     }
  28.    
  29.     public static void main(String[] args) throws InterruptedException{
  30.         Skywalk skywalk = new Skywalk();
  31.         for(int i = 0; i<=3000; i++){
  32.             Besucher b = new Besucher(i, (long) Math.random() * 100000);
  33.             skywalk.betreten(b);
  34.             skywalk.verlassen(b);
  35.         }
  36.     }
  37.  
  38. }
  39.  
  40.  
  41. package grandCanyon;
  42.  
  43. public class Besucher extends Thread {
  44.     private int nr;
  45.     private long verweildauer;
  46.      
  47.     public void run(){
  48.         System.out.println("Thread " + this.nr + "Betrete den Skywalk!");
  49.         try {
  50.             Thread.sleep(this.verweildauer/2);
  51.             System.out.println("Thread "+ this.nr + ": Schaue herum");
  52.             Thread.sleep(this.verweildauer/2);
  53.         } catch (InterruptedException e) {
  54.             e.printStackTrace();
  55.         }
  56.         System.out.println("Aktuell befinden sich " + Skywalk.anzahlBesucher + "/120 Besucher auf dem Skywalk!");
  57.         System.out.println("Thread "+ this.nr + ": Verlasse den Skywalk");
  58.     }
  59.    
  60.     public Besucher(int nr, long verweildauer){
  61.         this.nr = nr;
  62.         this.verweildauer = verweildauer;
  63.     }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement