Zum Inhalt springen

tomassio

Mitglieder
  • Gesamte Inhalte

    1
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von tomassio

  1. Hallo Wie kann ich bei folgende Code ein Deadlock vermeiden. erstens mit Semaphor und zweitens mit wait und notify. class X { private X otherX; private boolean inUse = false; public void setPartner(X otherX) { this.otherX = otherX; } public synchronized void m1() { System.out.println("It's method m1"); while (inUse) try { otherX.m2(); wait(); } catch (InterruptedException e) { /* ... */ }; inUse = true; } public synchronized void m2() { // OK System.out.println("It's method m2"); inUse = false; notify(); } } public class UserofX extends Thread { private X myX; public UserofX(X x) { myX = x; } public void run() { for (int i = 0; i < 10000; i++) myX.m1(); } public static void main(String[] args) { X x1 = new X(); X x2 = new X(); x1.setPartner(x2); x2.setPartner(x1); UserofX user1 = new UserofX(x1); user1.start(); UserofX user2 = new UserofX(x2); user2.start(); } } Gruss Tomas

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...