Heim >Java >javaLernprogramm >Was bedeutet Java asynchron?
In diesem Artikel wird Java asynchron vorgestellt. Ich hoffe, dass er für alle hilfreich ist.
Asynchron: Asynchron ist das Gegenteil von synchron, wenn ein asynchroner Prozeduraufruf ausgegeben wird. Der Anrufer kann weitere Vorgänge ausführen, bevor er Ergebnisse erhält.
Das heißt, egal wie lange es dauert, bis die asynchrone Methode den Code ausführt, es hat keine Auswirkungen auf den Hauptthread und der Hauptthread kann weiterhin nach unten ausgeführt werden.
Zum Beispiel: eine Wasserleitung mit Gabeln, die Gabel ist der asynchrone Rufeingang.
Anschluss A ist der Hauptfaden und Anschluss B ist der Hilfsfaden. Wenn etwas den Anschluss B blockiert, hat dies keinen Einfluss auf den Wasserfluss durch Anschluss A.
Definieren Sie eine Rückrufschnittstelle
Nachdem der asynchrone Code ausgeführt wurde, erfordern die Ergebnisse häufig eine gewisse Verarbeitung,
also definieren eine Schnittstelle, die zur Verarbeitung asynchroner Ergebnisse verwendet wird.
/** * 定义回调接口 * @author YZQ * */ public interface MyCallback { /** * 定义处理回调方法 * @param object */ void callback(Object object); }
Asynchrone Implementierungsklasse definieren
/** * 异步任务类 * @author YZQ * */ public class AsynTask { /** * 处理任务 * @param myCallback 处理完任务后的回调 */ public void task(final MyCallback myCallback){ Thread thread=new Thread(new Runnable() { @Override public void run() { try { //线程睡眠3秒,模拟该线程执行时间过长,也就是上面说的【B口有东西塞住】 Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } //完成0到99的累加 int sum=0; for(int i=0;i<p><strong>Test: </strong><br></p><pre class="brush:php;toolbar:false">/** * 测试类 * @author YZQ * */ public class Test { public static void main(String[] args) { //调用异步任务 new AsynTask().task(new MyCallback() { //实现回调方法 @Override public void callback(Object object) { System.out.println("异步回调处理:值 "+object); } }); System.out.println("主线程等待异步输出"); try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } } }
Es ist zu sehen:
Der Hauptthread gibt zuerst [Hauptthread wartet auf asynchrone Ausgabe] aus,
Dann gibt der Hilfsthread [Asynchrone Rückrufverarbeitung: Wert 4950] aus.
Verwandte Lernempfehlungen: Java Basic Tutorial
Das obige ist der detaillierte Inhalt vonWas bedeutet Java asynchron?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!