ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CS : DB : Block vs Non-Block, Sync vs Async
    Computer Science/DB 2021. 4. 13. 19:04
    728x90

     

    Block vs Non-Block vs Sync vs Async

     

     

    ** 이해를 돕기 위해 다음과 같이 의미를 정의한다.

    >> 제어권 : 행동할 수 있는 권한

    >> 결과값 : 함수의 리턴값

     

    1. Block vs Non-Block

    • '제어권'에 대해 통제하는 방법의 차이라고 할 수 있다.
    • function A가 function B를 호출하는 상황이라고 할 때,
      • Block : A가 가지고 있던 제어권을 B에게 넘겨주고, B가 모든 작업을 마무리 한 후 A에게 제어권을 넘겨준다.
      • Non-Block : A가 가지고 있던 제어권을 B에게 넘겨주고, B는 작업을 계속 이어가지만 제어권은 A에게 넘겨준다.

     

     

    2. Sync vs Async

    • '결과값'에 대해 반환 여부의 차이라고 할 수 있다.
    • 즉 system call이 즉시 return 될 때, 데이터의 유무의 차이이다.
    • function A와 function B가 있다고 할 때,
      • Sync : A의 종료와 B의 시작을 일치시킨다던지, 제어권의 반납과 결과값의 리턴을 일치시키는 것
      • Async : A의 종료와 B의 시작이 일치하지 않는다던지, 제어권의 반납과 결과값의 리턴이 일치하지 않는 것

     

     

     

     

    3.

    Block and Sync와 Non-Block and Async는 개념적으로 이해하기 쉽다.

     

    http://homoefficio.github.io/2017/02/19/Blocking-NonBlocking-Synchronous-Asynchronous/

     

     

    4.

    Block/Non-Block, Sync/Async는 '어느 것이 관심사인가'의 차이라고 할 수 있다.

     

    5.

    Block과 Non-Block의 관심사는, '호출되는 함수가 바로 제어권을 전달하는가?'이다.

     

    6.

    Sync와 Async의 관심사는, '호출되는 함수가 완료되었는가?'이다.

     

    http://homoefficio.github.io/2017/02/19/Blocking-NonBlocking-Synchronous-Asynchronous/

     

    728x90

    'Computer Science > DB' 카테고리의 다른 글

    CS :: DB :: 효율적인 SQL 쿼리 작성 방법  (0) 2021.06.23
    CS : DB : RDBMS vs NoSQL  (0) 2021.04.20
    CS : DB : paging, no offset, covering index  (0) 2021.04.13
    CS : DB : 트랜잭션과 격리 수준  (0) 2021.04.13
    Question : DB  (0) 2021.04.06

    댓글

kxmjhwn@gmail.com