Heim >Java >javaLernprogramm >Wie gehe ich mit Deadlocks im Java-Thread-Pool um?
Erklärung
1. Deadlock bezieht sich auf das Überlastungsphänomen, das durch den Wettbewerb um Ressourcen oder die gegenseitige Kommunikation zwischen zwei oder mehr Prozessen während des Implementierungsprozesses verursacht wird.
Thread-Pool-Deadlock-Instanz
2. Lösung: Erweitern Sie den Thread-Pool und die Threads oder Aufgabenergebnisse hängen nicht mehr voneinander ab.
final ExecutorService executorService = Executors.newSingleThreadExecutor(); Future<Long> f1 = executorService.submit(new Callable<Long>() { public Long call() throws Exception { System.out.println("start f1"); Thread.sleep(1000);//延时 Future<Long> f2 = executorService.submit(new Callable<Long>() { public Long call() throws Exception { System.out.println("start f2"); return -1L; } }); System.out.println("result" + f2.get()); System.out.println("end f1"); return -1L; } });
Das obige ist der detaillierte Inhalt vonWie gehe ich mit Deadlocks im Java-Thread-Pool um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!