ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 동기(synchronous)화와 비동기(Asynchronous)화
    카테고리 없음 2020. 3. 21. 20:36

    동기(synchronous)화와 비동기(Asynchronous)화

     

    1. 동기화

     

     - 동기화는 말 그대로 동시에 일어난다는 뜻

     

     - 클라이언트와 서버개념에서 클라이언트가 서버에 request을 보내면 서버에서 respone하는 것이 동시에 일어난다.

     

        즉, 요청을 하면 시간이 얼마나 걸리던지 요청한 자리에서 결과가 주어져야 함

     

        => 요청과 결과가 한자리에서 동시에 일어남

       

        => A노드와 B노드 사이의 작업 처리 단위(transaction)을 동시에 맞춰주겠다.

     


     

    2. 비동기화

     

     - 동시에 일어나지 않는다는 뜻

     

     - 요청과 결과가 동시에 일어나지 않는다.

     

        => 요청한 그자리에서 결과가 주어지지 않음

     

        => 노드 사이의 작업 처리 단위를 동시에 맞추지 않아도 된다.

     


     

    동기화와 비동기화의 장단점

     

    장점

     

    - 동기 방식 : 설계가 매우 간단하고 직관적

     

    - 비동기 방식 : 결과가 주어지는데 시간이 걸리더라도 그 시간 동안 다른 작업을 할 수 있다.

     

                          * 자원을 효율적으로 사용 가능

     

    단점

     

    - 동기 방식  : 결과가 주어질 때까지 아무것도 못하고 대기해야 하는 단점

     

    - 비동기 방식 : 동기보다 복잡

     

     


     

    동기방식과 비동기방식의 예

     

    동기방식 예

     

     

    비동기 방식의 예

     

     

    서로의 행위(목적)이 다르기 때문에 둘의 작업 처리 시간은 일치하지 않고, 일치하지 않아도 된다.

     

     * 블록과 논블록

     

       학생이 시험지를 선생에게 건넨 후 가만히 앉아 채점이 끝나서 시험지를 돌려받기만을 기다린다면

     

        학생은 블록 상태

     

       하지만 학생이 시험지를 건넨 후 선생에게 채점이 완료되었다는 전송을 받기 전까지 다른 과목을 공부하거나

     

       다른 행위를 하면 학생의 상태는 논블록 상태라고 한다.

     

     

     

    => 동기와 비동기는 어떤 작업 혹은 그와 연관된 작업을 처리하고자 하는 시각의 차이

     

         동기는 추구하는 같은 행위(목적)가 동시에 이루어지며, 

     

         비동기는 추구하는 행위(목적)가 다를 수도 있고, 동시에 이루어지지도 않는다.

     

     

    댓글

Designed by Tistory.