All pastes #1703769 Raw Edit

Inf III Blatt 6 Aufgabe 3 Versuc

public java v1 · immutable
#1703769 ·published 2009-12-06 02:31 UTC
rendered paste body
import java.util.concurrent.*;class Karossserie extends Thread{	private Semaphore sem; /* Semaphor-Objekt */    private String Name;    private int Dauer;        Karossserie (String Name, int Dauer, Semaphore sem)    {		this.Name = Name;		this.Dauer = Dauer;		this.sem = sem;	}		public void run()    {        try        {             sem.acquire();             System.out.println("Das Auto " + Name + " wird gebaut.");             System.out.println("Das Auto "+Name+" bekommt eine Karosserie.");             sleep(Dauer);             System.out.println("Die Karosserie des Autos " + Name + "ist fertig.");             sem.release ();        }        catch (Exception e){ }	}}class Fahrwerk extends Thread{	private Semaphore sem; /* Semaphor-Objekt */    private String Name;    private int Dauer;        Fahrwerk (String Name, int Dauer, Semaphore sem)    {		this.Name = Name;		this.Dauer = Dauer;		this.sem = sem;	}		public void run()    {        try        {             sem.acquire();             System.out.println("Das Auto "+Name+" bekommt das Fahrwerk.");             sleep(Dauer);             System.out.println("Das  Fahrwerk des Autos " + Name + "ist fertig.");             sem.release ();        }        catch (Exception e){ }	}}class Elektronik extends Thread{	private Semaphore sem; /* Semaphor-Objekt */    private String Name;    private int Dauer;        Elektronik (String Name, int Dauer, Semaphore sem)    {		this.Name = Name;		this.Dauer = Dauer;		this.sem = sem;	}		public void run()    {        try        {             sem.acquire();             System.out.println("Das Auto "+Name+" bekommt die Elektronik.");             sleep(Dauer);             System.out.println("Die  Elektronik des Autos " + Name + "ist fertig.");             sem.release ();        }        catch (Exception e){ }	}}class Innenaustattung extends Thread{	private Semaphore sem; /* Semaphor-Objekt */    private String Name;    private int Dauer;        Innenaustattung (String Name, int Dauer, Semaphore sem)    {		this.Name = Name;		this.Dauer = Dauer;		this.sem = sem;	}		public void run()    {        try        {             sem.acquire();             System.out.println("Das Auto "+Name+" bekommt die Innenaustattung.");             sleep(Dauer);             System.out.println("Die  Innenaustattung des Autos " + Name + "ist fertig.");             System.out.println("Das Auto " + Name + " is feddich.");             sem.release ();        }        catch (Exception e){ }	}}class KFZModellAuftrag extends Thread{	/* Semaphore-Objekte */	private Semaphore sem1; 	private Semaphore sem2; 	private Semaphore sem3; 	private Semaphore sem4; 	private Semaphore sem5; 		private String Name; /* Der Marken-Name & das Modell des Autos */		private int Karossserie_Dauer;	private int Fahrwerk_Dauer;	private int Motor_Dauer;	private int Elektronik_Dauer;	private int Innenaustattung_Dauer;			KFZModellAuftrag (String Name,	int Karossserie_Dauer,	int Fahrwerk_Dauer,	int Elektronik_Dauer,	int Innenaustattung_Dauer,	Semaphore sem1,	Semaphore sem2,	Semaphore sem3,	Semaphore sem4)	{		this.Name = Name;		this.sem1 = sem1;		this.sem2 = sem2;		this.sem3 = sem3;		this.sem4 = sem4;		this.Karossserie_Dauer = Karossserie_Dauer;		this.Fahrwerk_Dauer = Fahrwerk_Dauer;		this.Elektronik_Dauer = Elektronik_Dauer;		this.Innenaustattung_Dauer = Innenaustattung_Dauer;	}		public void run ()	{		try		{			Karossserie Kar = new Karossserie (Name, Karossserie_Dauer, sem1);			Fahrwerk Fahr = new Fahrwerk (Name, Fahrwerk_Dauer, sem2);			Elektronik Elek = new Elektronik (Name, Elektronik_Dauer, sem3);			Innenaustattung Innen = new Innenaustattung (Name, Innenaustattung_Dauer, sem4);						Kar.run(); Fahr.run(); Elek.run(); Innen.run();		}		catch (Exception e){}	}}public class Autofabrik{			public static void main (String [] args )	{		Semaphore Sem1 = new Semaphore (1);		Semaphore Sem2 = new Semaphore (1);		Semaphore Sem3 = new Semaphore (1);		Semaphore Sem4 = new Semaphore (1);		Semaphore Sem5 = new Semaphore (1);		//KFZModellAuftrag (String Name, int Karossserie_Dauer, int Fahrwerk_Dauer, int Elektronik_Dauer, int Innenaustattung_Dauer, Semaphore sem1, Semaphore sem2, Semaphore sem3, Semaphore sem4)				KFZModellAuftrag Karre1 = new KFZModellAuftrag ("Audi A6", 784, 753, 854, 758, Sem1, Sem2, Sem3, Sem4);		KFZModellAuftrag Karre2 = new KFZModellAuftrag ("Mercedes-Benz W169", 744, 517, 860, 665, Sem1, Sem2, Sem3, Sem4);		KFZModellAuftrag Karre3 = new KFZModellAuftrag ("VW MC 01", 999, 516, 589, 974, Sem1, Sem2, Sem3, Sem4);		KFZModellAuftrag Karre4 = new KFZModellAuftrag ("DeLorean DMC-12", 728, 583, 851, 988, Sem1, Sem2, Sem3, Sem4);		KFZModellAuftrag Karre5 = new KFZModellAuftrag ("Mazda RX-7", 887, 936, 769, 781, Sem1, Sem2, Sem3, Sem4);		Karre1.start(); Karre2.start(); Karre3.start(); Karre4.start(); Karre5.start();	}}