Beispiel #1
0
        public void drucken()
        {
            Druckauftrag a = null;

            // es wird mit der gemeinsamen Ressource gearbeiten
            // lock (pool)
            // {
            while (pool.Count > 0)
            {
                // ein Auftrag wird der gemeinsamen Ressource entnommen
                a = pool.Dequeue();
                WriteLine("Drucke " + a.beschreibung);
                gesamtzeit += a.zeit;

                // etwas warten, bevor die Bedinung der Schleife erneut geprüft wird
                Thread.Sleep(1000);
            }
            // }
        }
Beispiel #2
0
 // Methode geht evtl weg, weil das hinzufügen jemand anderes macht
 public void hinzufügen(Druckauftrag druckauf)
 {
     // es wird mit der gemeinsamen Ressource gearbeitet
     pool.Enqueue(druckauf);
 }