본문으로 바로가기
반응형

동기 (Synchronous)

 - 요청과 결과가 동시에 일어남

 - 요청을 했을 경우 시간이 얼마나 걸리던지에 상관없이 요청한 자리에서 바로 결과값을 받아야 함

 - 설계가 매우 간단하고 직관적임

 - 결과가 주어질 때까지 아무것도 못하고 대기하면서 결과를 기다려야 함

 

비동기(Asynchronous) ?

 - 요청과 결과가 동시에 일어나지 않음

 - 요청했을 경우에 지금 바로 혹은 당장 응답받지 않아도 됨 

 - 동기에 비해 설계가 복잡함

 - 결과가 주어지는데 시간이 걸리더라도 기다리는 시간동안 다른작업을 진행할 수 있으므로 자원을 효율적으로  사용

 


제어권 ? 

 - 함수를 실행시킬 수 있는 권리 

 

결과값 ?

 - 함수의 리턴 값

 

블로킹(blocking)?

 - 요청자(부모함수) 는 요청한 작업이 끝날 때까지 다른 작업을 하지 않고 기다림

 - 다른 함수를 호출할 때, 제어권도 함께 넘겨주며 그 작업이 끝난 후에 돌려받기 때문 (제어권이 없는상태)

 - 요청받은 함수는 모든 실행을 마치고 최종 결과값을 돌려줌

 

논블로킹(non-blocking) ?

 - 요청자(부모함수) 는 요청한 작업이 수행되는 동안 다른작업을 진행할 수 있음

 - 다른함수를 호출할 때, 제어권을 넘겨주지만 바로 돌려 받음 

 - 제어권을 바로 돌려받기 때문에 다른 작업을 진행할 수 있음

 

 

 

 

 

 

참고블로그

https://joooing.tistory.com/entry/%EB%8F%99%EA%B8%B0%EB%B9%84%EB%8F%99%EA%B8%B0-%EB%B8%94%EB%A1%9C%ED%82%B9%EB%85%BC%EB%B8%94%EB%A1%9C%ED%82%B9

 

블로킹(Blocking)/논블로킹(Non-Blocking), 동기(Sync)/비동기(Async) 구분하기

보통 동기 = 블로킹을 같은 개념으로, 비동기 = 논블로킹을 같은 개념으로 헷갈리는 경우가 많다. 하지만 두 개념은 각각을 구분짓는 기준이 전혀 다르다. 블로킹/논블로킹은 한 작업이 처리되는

joooing.tistory.com

 

반응형

'개발지식' 카테고리의 다른 글

PHP란 무엇인가 ?  (0) 2022.06.10
WebServer, WAS 의 차이  (0) 2022.06.09
프로세스와 스레드  (0) 2022.05.26
TCP 와 UDP의 차이  (0) 2022.05.25
GET 방식과 POST 방식  (0) 2022.05.24