728x90
정의
- 블록킹 : 자신의 작업을 진행하다가 다른 주체의 작업이 시작되면 다른작업이 끝날때까지 기다렸다가 자신의 작업을 시작하는 것 (Thread관점에서 본다면, 요청 작업을 마칠 때까지 계속 대기)
- 논블록킹 : 다른 주체의 작업과 상관없이 자신의 작업을 하는 것
- 동기 : 두주체의 작업을 동시에 수행하거나, 동시에 끝나거나, 끝나는 동시에 시작함을 의미
- 비동기 : 시작, 종료가 불일치, 끝나는 동시에 시작하지 않음을 의미 (두 주체가 서로의 시작 종료시간 관계없이 별도의 작업 수행 시작 / 종료시간을 가지고 있을 때를 의미함)
블록킹 / 논블록킹 기준
- 블록킹과 논블록킹은 다른 작업을 수행하는 주체를 어떻게 상대하는지에 따라 정해짐
동기 / 비동기 기준
- 작업을 수행하는 것이 동시에 이루어지거나 동시에 종료되거나의 여부에 따라 정해짐
동기 / 비동기, 블록킹 / 논블록킹 조합
- 동기 / 블록킹 조합 : 결과가 처리되어 나올때까지 기다려서 응답을 받아서 결과를 전달
- 동기 / 논블록킹 : 결과가 없으면 바로 응답처리, 결과가 있으면 바로 결과 전달 (동기처리를 위하여 결과가 완료되었는지 계속 체크함)
- 비동기 / 블록킹 : 다른작업의 주체가 작업하는동안 대기 (블록킹 따라감)
- 비동기 / 논블록킹 : 작업 요청을 바다엇 별도의 프로세서에서 진행하고 바로 결과 전달함
동기 / 비동기 / 블록킹 / 논블록킹은 각각 다른개념, 비동기 / 블록킹은 대표 예로 Ajax, 비동기 논블록킹은 WebSocket이 있음
'OTHER' 카테고리의 다른 글
[OTHER] 모놀리식 아키텍처 (0) | 2021.07.12 |
---|---|
[NETWORK] Polling / Long Polling / Streaming (0) | 2021.06.10 |
[OS] 가상화 (0) | 2021.06.05 |
[NETWORK] CNAME과 A RECODE (0) | 2021.06.02 |
[HTTP] Authentication Basic vs Bearer (0) | 2020.12.17 |