Zum Inhalt springen

herrnerz

Mitglieder
  • Gesamte Inhalte

    3
  • Benutzer seit

  • Letzter Besuch

  1. herrnerz

    Semaphore in Java

    hm ich verstehs einfach nicht ganz, sorry könntest du mirs mal anhand meines beispiels erläutern? wär sehr nett!
  2. herrnerz

    Semaphore in Java

    aber wie soll ich dass denn hier realisieren? ich kann ja nicht erst die brücke reservieren und dann reinfahren, weil ich noch zusätzlich prüfen muss, ob der erste abschnitt auch frei ist. genausowenig kann ich erst den kleinen abschnitt prüfen, reinfahren, und dann die brücke prüfen, weil ja am anfang die zwei anderen abschnitte belegt sein könnten und ich gar nicht in den einzelabschnitt fahren darf. also folgt doch, dass ich auf jeden fall erst die brücke prüfen muss. dann kann ich aber noch nichts machen, also muss ich danach den abschnitt prüfen. oder seh ich das falsch? btw heißt 2 phase locking einfach, dass man das erste lockt und dann gleich ausführt, dann das zweite lockt und ausführt?
  3. herrnerz

    Semaphore in Java

    Hi ich könnte dringend Hilfe gebrauchen bei der folgenden Aufgabe: <-----L1--------___________________<------X--------- o <------R1------ ____________o<----------A---------->o ------L2------>____________________------Y---------> o ------R2-------> ____________Beginn Brücke______________________Ende Brücke Bei der Zeichnung handelt es sich um 7 Streckenabschnitte, von denen A, X und Y auf einer Brücke liegen. Diese darf nur von 2 FAhrzeugen gleichzeitig befahren werden. Die Abschnitte A, X und Y können immer nur ein Fahrzeug aufnehmen. Synchronisieren sie mittels Semahoren. Beachte: Keine Kollisionen (auch keine Auffahrunfälle), Sperrphasen möglichst kurz halten, keine Verklemmungen dürfen auftreten. Zu Beginn ist alles frei, L1, L2, R1, R2 müssen nicht synchronisiert werden. So. jetzt hab ich mal versucht das in Java zu schreiben, bin mir aber ganz und gar nicht sicher ob das so stimmt und bin für jeden Kommentar äußerst dankbar! package semaphore; public class Bridge { Semaphor xfrei = new Semaphor(1); Semaphor yfrei = new Semaphor(1); Semaphor afrei = new Semaphor(1); Semaphor brueckefrei = new Semaphor(2); public void Rfahrzeug { while (1 == 1) { brueckefrei.P(); xfrei.P(); // R1 -> X afrei.P(); // X -> A xfrei.V(); // A -> L1 brueckefrei.V(); afrei.V(); } } public void Lfahrzeug { while (1 == 1) { brueckefrei.P(); afrei.P(); // L2 -> A yfrei.P(); // A -> Y afrei.V(); // Y -> R2 brueckefrei.V(); yfrei.V(); } } }

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...