반응형
동기 (Synchronous) ?
- 요청과 결과가 동시에 일어남
- 요청을 했을 경우 시간이 얼마나 걸리던지에 상관없이 요청한 자리에서 바로 결과값을 받아야 함
- 설계가 매우 간단하고 직관적임
- 결과가 주어질 때까지 아무것도 못하고 대기하면서 결과를 기다려야 함
비동기(Asynchronous) ?
- 요청과 결과가 동시에 일어나지 않음
- 요청했을 경우에 지금 바로 혹은 당장 응답받지 않아도 됨
- 동기에 비해 설계가 복잡함
- 결과가 주어지는데 시간이 걸리더라도 기다리는 시간동안 다른작업을 진행할 수 있으므로 자원을 효율적으로 사용
제어권 ?
- 함수를 실행시킬 수 있는 권리
결과값 ?
- 함수의 리턴 값
블로킹(blocking)?
- 요청자(부모함수) 는 요청한 작업이 끝날 때까지 다른 작업을 하지 않고 기다림
- 다른 함수를 호출할 때, 제어권도 함께 넘겨주며 그 작업이 끝난 후에 돌려받기 때문 (제어권이 없는상태)
- 요청받은 함수는 모든 실행을 마치고 최종 결과값을 돌려줌
논블로킹(non-blocking) ?
- 요청자(부모함수) 는 요청한 작업이 수행되는 동안 다른작업을 진행할 수 있음
- 다른함수를 호출할 때, 제어권을 넘겨주지만 바로 돌려 받음
- 제어권을 바로 돌려받기 때문에 다른 작업을 진행할 수 있음
참고블로그
반응형
'개발지식' 카테고리의 다른 글
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 |