Ich habe einen Code ähnlich wie diese, die innerhalb run()
Verfahren zur Herstellung eines Runnable
und mehrere Instanzen dieser Runnable
gestartet ist erhalten,Wie InterruptedException of BlockingQueue behandelt?
do{
try{
String contractNum=contractNums.take();
}catch(InterruptedException e){
logger.error(e.getMessage(), e);
}
}while(!("*".equals(contractNum)));
Wo contractNums
ist ein BlockingQueue<String>
von mehreren Threads gemeinsam genutzt. Es gibt separate Runnables
Putting-Elemente zu dieser Warteschlange.
ich über die nächsten Schritte nicht sicher bin, nach InterruptedException
fangen, sollte ich diesen Thread beenden, indem er erneut einen RuntimeException
(so meine while
Schleife beendet) zu werfen oder versuchen InterruptedException
nächste Element zu nehmen von contractNum queue
wieder und ignoriert?
Ich bin mir nicht sicher, ob InterruptedException
als eine fatale Bedingung behandelt werden, damit der Thread endet oder in While-Schleife bleibt.
Bitte vorschlagen.
Danke. Nein, es gibt keine absichtlichen Unterbrechungen. –
Dann müssen Sie keine besonderen Maßnahmen gegen sie ergreifen. – Kayaman