Search
Duplicate
📝

[Spring Netty] 동기/비동기

상태
미진행
수업
Spring Netty
주제
연관 노트
3 more properties
참고

동기/비동기와 블로킹/논블로킹

동기 작업

NOTE
2개 이상의 주체가 동시에 수행하거나, 끝나는 동시에 시작함.

비동기 작업

NOTE
2개 이상의 주체가 시작, 종료시간과 관계없이 시작/종료 시간을 가진다.

블로킹

NOTE
A가 다른 대상을 호출하고, 받아오는 동안 멈춰있음!
자신의 작업을 하다가 다른 작업 주체가 하는 작업의 시작부터 끝까지 기다리는 방식

논블록킹

NOTE
A가 다른 대상을 호출하고, 기다리지 않고 계속 작업을 수행함!
자신의 작업을 하다가 다른 작업 주체가 하는 작업을 기다리지 않고 계속해서 진행하는 방식

동기/블로킹 조합

NOTE
작업시간의 시작과 끝 동시에 진행되거나, 순차적이다.
JDBC를 이용해 DB에 쿼리 질의를 날린다.
메서드에서 다른 메서드를 호출하여 결과값을 즉시 받아온다.

동기/블로킹 조합

NOTE
자신의 작업을 하던 도중, 결과를 조회하려고하면 이미지처럼 진행됨.
결국 기다려야 하기 때문에, 동기/블로킹 조합과 비슷한 성능

동기, 논블로킹 조합

NOTE
논블로킹으로 작업을 계속해서 하지만, 동기를 위해서 계속해서 작업이 끝났는지 조회함.
위의 그림처럼 딱히 작업효율이 좋지는 않다.

비동기, 논블로킹 조합

NOTE
자원이 충분하다면 가장 효율이 좋은 조합이다.
비동기 방식으로 진행되기에 가장 효율적인 조합이다!