JAVA 비동기식 호출 인스턴스 코드 구현

1574 단어 java비동기호출
JAVA 플랫폼에서 비동기식 호출을 실현하는 역할은 다음과 같은 세 가지가 있습니다.
호출자 인출증 실제 데이터
호출자가 호출하는 데 소모되는 시간을 조작하고 데이터를 즉시 되돌릴 수 없을 때, 먼저 화물 인출 증명서를 되돌려줍니다.그리고 시간이 지나면 화물 인출 증빙서류로 진정한 데이터를 얻는다.
하나의 방법을 호출할 때 프로그램은 호출된 방법에 들어가서 이 호출된 방법을 실행한 후에야 다음 문장을 실행합니다.어떻게 aax 비동기 요청처럼 요청을 보낸 후 요청 응답을 기다리지 않고 다음 문장을 실행할 수 있습니까?자바의 비동기적인 요청에 대해 많은 교재를 찾았지만 찾지 못했다. 예를 들어thinking in 자바,core 자바2...잠깐만.다중 스레드 다운로드 도구와mootools의 Request의 계발을 받아java 버전의 Request를 만들었는데 성능이 어떤지 모르겠습니다.
Request: 요청 캐리어

public class Request {
 private RequestContent rc;// 
 public Request(RequestContent rc){
 this.rc=rc;
 }
 protected void start(){ // 
 final Thread t=new Thread(new Runnable(){
  public void run(){
  try{
   rc.doSomeThing();// 
  }catch (Exception e) {
   e.printStackTrace();
   rc.onFailure(); // 
  }
  rc.onSuccess();// 
  }}
 );
 t.start();
 }
}
RequestContent: 요청 바디

abstract class RequestContent {
 void onSuccess(){  // 。 
 System.out.println("onSuccess");
 }
 void onFailure(){ // 。 
 System.out.println("onFailure");
 }
 abstract void doSomeThing(); // , 
}
테스트: 테스트

 new Request(new RequestContent(){
  void doSomeThing(){
  System.out.println("doSomething");
  }
  void onSuccess(){
  System.out.println("override onSuccess");
  }
 }).start();
상기 코드는 여러분에게 공유된 자바가 비동기적으로 호출되는 것입니다. 여러분이 좋아하시기 바랍니다.

좋은 웹페이지 즐겨찾기