Beste Weg, damit umzugehen InterruptedException

Bin ich mit dem Thread.sleep(10000); also ich muss um InterruptedException. Ich kann call Thread.currentThread.interrupt () und dann werfen Sie die Ausnahme an aufrufende Klasse oder kann ich auch direkt werfen, um die aufrufende Klasse oder gibt es eine bessere Möglichkeit, damit umzugehen ?

  • Sind Sie sicher, dass Sie brauchen eine Thread.sleep? 99% der Zeit brauchst du es nicht und sollte es nicht verwenden.
  • Ich m polling-Nachrichten aus einer Datei und ich warte 10 sec vor jeder iteration, also ich m mit sleep(). Kann u vorschlagen mir einen besseren Weg
  • Wie werden die Informationen in die Datei geschrieben? Hast du irgendwelche Kontrolle über Sie?
  • Nein, ich m nur angeschlossen, um die Datei-Pfad zum abrufen der Daten.
  • Sie werden wahrscheinlich besser dran mit einem Timer oder ScheduledExecutorService als darum der thread
  • Funktioniert der Schreibprozess lock auf die Datei, oder ist die Möglichkeit einer gemeinsamen Lesen/schreiben?
  • Danke @bradimus
  • Lesen und schreiben ist erlaubt
  • Checkout rxjava-Datei, wie hier erwähnt, stackoverflow.com/a/31202832/2160152
  • Haben Sie geprüft über java.nio.Datei-Paket enthält eine Datei ändern, notification API, namens-Uhr-Service. Diese API ermöglicht es Ihnen 2 registrieren Sie ein Verzeichnis mit die Uhr service. Bei der Anmeldung, sagen Sie dem service, welche Arten von Ereignissen Sie interessiert sind: Datei-Erstellung, Löschung, änderung oder. Wenn der Dienst erkennt ein Ereignis von Interesse sind, weitergeleitet wird an die registrierte Prozess. Die eingetragene Prozess hat einen thread (oder einen pool von threads) gewidmet beobachten für alle events registriert. Wenn ein Ereignis kommt, wird Sie so behandelt, wie gebraucht.
  • Dies ist eine gute alternative. Aber in meinem Fall mehr als ein Objekt ändern möchten die gleiche Datei. Was ich möchte ist, dass nur einer von Ihnen sollte in der Lage sein, die Datei zu ändern und andere nicht. So war ich mit thread. Selbst wenn ich den Prozess, bei dem u r darauf hindeutet, ich habe noch zu gehen, für die Handhabung so etwas wie unterbrechen

InformationsquelleAutor Element | 2016-03-01
Schreibe einen Kommentar