欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JAVA實(shí)現(xiàn)異步調(diào)用實(shí)例代碼

 更新時(shí)間:2015年09月28日 14:41:01   作者:風(fēng)在那里追  
在java平臺(tái),實(shí)現(xiàn)異步調(diào)用的角色主要三種角色:調(diào)用者、取貨憑證、真實(shí)數(shù)據(jù)。本篇文章給大家介紹java實(shí)現(xiàn)異步調(diào)用實(shí)例代碼,需要的朋友可以參考下

在JAVA平臺(tái),實(shí)現(xiàn)異步調(diào)用的角色有如下三個(gè)角色:

調(diào)用者 取貨憑證   真實(shí)數(shù)據(jù)

一個(gè)調(diào)用者在調(diào)用耗時(shí)操作,不能立即返回?cái)?shù)據(jù)時(shí),先返回一個(gè)取貨憑證.然后在過一斷時(shí)間后憑取貨憑證來獲取真正的數(shù)據(jù).

在調(diào)用一個(gè)方法的時(shí)候,程序會(huì)進(jìn)入被調(diào)用方法體內(nèi),執(zhí)行完這個(gè)被調(diào)用方法后,才返回執(zhí)行下一條語句。怎么做到像ajax異步請(qǐng)求一樣,發(fā)送請(qǐng)求后,沒等請(qǐng)求響應(yīng)就執(zhí)行下一條語句呢?對(duì)于java的異步請(qǐng)求,找了許多教材都沒有找到,如thinking in java、core java2 ......等等。受多線程下載工具以及mootools的Request的啟發(fā),做了一個(gè)java版的Request,不知它的性能如何。

Request:請(qǐng)求載體

public class Request {
 private RequestContent rc;//請(qǐng)求主體
 public Request(RequestContent rc){
 this.rc=rc;
 }
 protected void start(){ //開始請(qǐng)求
 final Thread t=new Thread(new Runnable(){
  public void run(){
  try{
   rc.doSomeThing();//響應(yīng)請(qǐng)求
  }catch (Exception e) {
   e.printStackTrace();
   rc.onFailure(); //如果執(zhí)行失敗
  }
  rc.onSuccess();//如果執(zhí)行成功
  }}
 );
 t.start();
 }
}

RequestContent:請(qǐng)求主體

abstract class RequestContent {
 void onSuccess(){  //執(zhí)行成功的動(dòng)作。用戶可以覆蓋此方法
 System.out.println("onSuccess");
 }
 void onFailure(){ //執(zhí)行失敗的動(dòng)作。用戶可以覆蓋此方法
 System.out.println("onFailure");
 }
 abstract void doSomeThing(); //用戶必須實(shí)現(xiàn)這個(gè)抽象方法,告訴子線程要做什么
}

Test:測(cè)試

 new Request(new RequestContent(){
  void doSomeThing(){
  System.out.println("doSomething");
  }
  void onSuccess(){
  System.out.println("override onSuccess");
  }
 }).start();

以上代碼就是小編給大家分享的java實(shí)現(xiàn)異步調(diào)用,希望大家喜歡。

相關(guān)文章

  • 全面解析Java中的引用類型

    全面解析Java中的引用類型

    在Java中對(duì)象以引用來指向JVM的內(nèi)存區(qū)塊,這里我們總結(jié)了強(qiáng)引用、軟引用、弱引用和假象引用(幽靈引用),下面就具體來全面解析Java中的引用類型:
    2016-05-05
  • Java for-each循環(huán)使用難題2例(高級(jí)使用方法)

    Java for-each循環(huán)使用難題2例(高級(jí)使用方法)

    從Java5起,在Java中有了for-each循環(huán),可以用來循環(huán)遍歷collection和array。For each循環(huán)允許你在無需保持傳統(tǒng)for循環(huán)中的索引,或在使用iterator /ListIterator時(shí)無需調(diào)用while循環(huán)中的hasNext()方法就能遍歷collection
    2014-04-04
  • 詳解Java實(shí)踐之適配器模式

    詳解Java實(shí)踐之適配器模式

    在計(jì)算機(jī)編程中,適配器模式(有時(shí)候也稱包裝樣式或者包裝)將一個(gè)類的接口適配成用戶所期待的。一個(gè)適配允許通常因?yàn)榻涌诓患嫒荻荒茉谝黄鸸ぷ鞯念惞ぷ髟谝黄?,做法是將類自己的接口包裹在一個(gè)已存在的類中
    2021-06-06
  • 淺談spring 常用注解

    淺談spring 常用注解

    這篇文章主要介紹了淺談spring 常用注解,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Java繼承的實(shí)現(xiàn)與繼承限制分析

    Java繼承的實(shí)現(xiàn)與繼承限制分析

    這篇文章主要介紹了Java繼承的實(shí)現(xiàn)與繼承限制,結(jié)合具體實(shí)例形式分析了Java繼承的定義、實(shí)現(xiàn)以及繼承的相關(guān)限制,需要的朋友可以參考下
    2019-01-01
  • SpringBoot-RestTemplate如何實(shí)現(xiàn)調(diào)用第三方API

    SpringBoot-RestTemplate如何實(shí)現(xiàn)調(diào)用第三方API

    這篇文章主要介紹了SpringBoot-RestTemplate實(shí)現(xiàn)調(diào)用第三方API的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • springboot+maven多環(huán)境動(dòng)態(tài)配置及編譯失敗的解決方案(步驟詳解)

    springboot+maven多環(huán)境動(dòng)態(tài)配置及編譯失敗的解決方案(步驟詳解)

    這篇文章主要介紹了springboot+maven多環(huán)境動(dòng)態(tài)配置及編譯失敗的解決方案,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11
  • Java靜態(tài)代碼塊作用及執(zhí)行順序解析

    Java靜態(tài)代碼塊作用及執(zhí)行順序解析

    這篇文章主要介紹了Java靜態(tài)代碼塊作用及執(zhí)行順序解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • IntelliJ Idea常用11款插件(提高開發(fā)效率)

    IntelliJ Idea常用11款插件(提高開發(fā)效率)

    這篇文章主要介紹了IntelliJ Idea常用11款插件(提高開發(fā)效率),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 詳解Java中的ForkJoin

    詳解Java中的ForkJoin

    Fork/Join框架是Java 7提供的一種用于并行執(zhí)行任務(wù)的框架,它將大任務(wù)分解為若干個(gè)小任務(wù),并行執(zhí)行這些小任務(wù),最終通過合并每個(gè)小任務(wù)的結(jié)果得到大任務(wù)的結(jié)果,文中有詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-05-05

最新評(píng)論