2016-04-01 11 views
-4

Ich habe 3 Klassen, und die von 3 Threads geteilt wurde. Jeder Thread wird auf eine gemeinsame Liste zugreifen, die synchronisiert ist. Aber das Problem ist, ich möchte nur einen Thread basierend auf ID sperren und die nächste Sperre aufheben, wenn der vorherige abgeschlossen ist.Wie man einen Thread basierend auf Thread-ID sperren?

Beispiel

I haben gewinde 1, faden 2, faden 3, die eine Liste gleichzeitig zugreifen wird. Ich muss Thread-2 und Thread-3 basierend auf seiner ID sperren, bis Thread-1 abgeschlossen ist. Und lassen Sie sie einzeln ausführen.

Ich verwende JAVA-Programmierung, um dies zu erreichen. Bitte helfen Sie mir, einen Weg zu finden, dies zu erreichen.

+0

also würde es kein Problem geben, wenn Thread-1 und Thread-2 gleichzeitig auf die Liste zugreifen würden? Welche Programmiersprache übrigens? – JohnnyAW

+0

Nein. Ich möchte andere Threads sperren und nur einen ausführen, der auf seiner ID basiert. Sobald der aktuelle Thread abgeschlossen ist, muss er den nächsten entsperren und ausführen lassen. Es muss passieren, wenn Multi-Thread mit einer bestimmten Liste interagiert. – ArrchanaMohan

+1

Wenn Sie auf der Liste synchronisieren, sollte es tatsächlich tun, was Sie wollen, Threads greifen auf diesen Codeblock nur zu, nachdem ein anderer Thread die Ausführung abgeschlossen hat. – JohnnyAW

Antwort

Verwandte Themen