static void ablauf01() { Drucker d = new Drucker(null); d.hinzufügen(new Druckauftrag("Schaukelpferd", 34)); d.hinzufügen(new Druckauftrag("Bömmel", 10)); d.hinzufügen(new Druckauftrag("Kaffeebohne", 42)); d.drucken(); WriteLine("Gesamtzeit: " + d.gesamtzeit); ReadLine(); }
static void variante2() { // wir erstellen die gemeinsam zu nutzende Ressource Queue <Druckauftrag> pool = new Queue <Druckauftrag>(); // wir weisen diese Ressource einem Drucker zu Drucker print = new Drucker(pool); // wir weisen die gleiche Ressource dem Arbeiter (Variante2) zu Variante02 arbeiter = new Variante02(pool); // wir erstellen zwei Threads // die Methode zum erstellen von Aufträgen und zum Drucken von diesen sollen // parallel ablaufen Thread t1 = new Thread(arbeiter.generierenAufträge); Thread t2 = new Thread(print.drucken); t1.Start(); t2.Start(); }
static void ablauf02() { Drucker d = new Drucker(null); Random rnd = new Random(); String was = null; WriteLine("geben sie an, was gedruck werden soll, beenden mit Leerzeile"); do { was = ReadLine(); if (was.Length > 0) { // bereich zwischen 30 und 60 d.hinzufügen(new Druckauftrag(was, rnd.Next(30, 60))); } }while (was.Length > 0); WriteLine("es wird gedruckt"); d.drucken(); WriteLine("Gesamtzeit: " + d.gesamtzeit); }