본문 바로가기

Java Programming/Java

Synchronous vs Asynchronous

(Synchronous vs Asynchronous)

(Blocking vs. Non-blocking)

동기 : 요청하고 결과를 계속 기다린다.

비동기 : 완료되면 알려달라고 요청하고 다른일 한다.


동기 (Synchronous) 코드

Blocking call

// 동기 방식

void greeting(Context ctx) {

    String req = ctx.readLine();

    ctx.write("안녕, " + req);

    System.out.println("완료");

}


비동기 (Asynchronous) 코드

Non-blocking call

// 비동기 방식

void greeting(Context ctx) {

    ctx.readLine().done(line -> {

       ctx.write("안녕, " + req);

    });

    System.out.println("완료");

}


<개발 참고 사이트>

1. http://asfirstalways.tistory.com/85 -> 프로토콜 관련 사이트

2. http://tjjava.blogspot.kr/2012/03/https.html -> HTTPS 샘플 예제