Ich habe Frage. Ich habe gerade begonnen, Threads zu verwenden und ich bin ziemlich lahm. Ich arbeite an einer Aufgabe.Laufende Threads in bestimmter Reihenfolge
Sagen wir, ich habe 3 Threads. Die Hauptaufgabe eines jeden Threads besteht darin, eine Zeile von .txt usw. bis zum Ende der Datei zu schreiben. Ich habe es geschafft, aber ich weiß nicht, wie man warte() und benachrichtigen(). Mein Programm läuft wie folgt aus:
t1 writes line
t2 writes line
t1 writes line
t2 writes line
t3 writes line
t2
t1
t2
t3
t2
t1 ...
, wenn ich mein Thema synchonized einige Objekt. In jeder neuen Thread run() Methode habe ich auch notifyAll() und wait() Methode eingegeben. Aber es dosent Arbeit wie es sein sollte, die ist:
t1
t2
t3
t1
t2
t3
...
Irgendwelche Tipps Jungs? Ich wäre dankbar.
tldr: Wie t2 zu benachrichtigen, um nach t1 gestartet zu werden, und t3 nach t2 und t1 nach t3 und so weiter?
Geben Sie Ihren Code ein. – shmosel
Die Art und Weise, wie Sie versuchen, Ihre Threads zu ynkronisieren, verletzt den Wert des Threads, dh mehrere Jobs asynchron auszuführen. – ControlAltDel