Implementieren Sie einen blockierenden Funktionsaufruf in Java

Was ist die empfohlene /beste Weg, um zu implementieren ein blockierender Funktionsaufruf in Java, das kann später aufgehoben durch einen Aufruf aus einem anderen thread?

Grundsätzlich möchte ich zwei Methoden auf ein Objekt, wo der erste Anruf blockiert aufrufenden thread, bis die zweite Methode wird von einem anderen thread:

public class Blocker {

  /* Any thread that calls this function will get blocked */
  public static SomeResultObject blockingCall() {
     //...      
  }

  /* when this function is called all blocked threads will continue */
  public void unblockAll() {
     //...
  }

} 

Die Absicht ist ÜBRIGENDS nicht nur um blockieren von Verhalten, sondern schreiben eine Methode, die Blöcke, bis irgendwann, wenn es möglich ist, zu berechnen, das gewünschte Ergebnis.

InformationsquelleAutor mikera | 2011-10-12
Schreibe einen Kommentar