728x90
1. blocking/ non-blocking :
- 기준 : 제어권
blocking: 다른 주체가 작업할 때 자신의 작업을 할 수 없다.
non blocking :다른 주체가 작업을 할 때, 자신의 작업을 할 수 있다.
2. sync vs async
- 기준 : 순서/ 결과의 처리
synchronous : 동시에 수행하거나, 동시에 끝나거나, 끝나는 동시에 시작함
asynchrounous : 비동기 - 시작, 종료가 일치하지 않으며, 끝나는 동시에 시작하지 않음.
3. 조합 종류
blocking | non-blocking | |
sync | blocking/ sync | non-blocking /sync |
async | blocking/async | non-blocking/async |
1) blocking / sync
- blocking: 어떤 일을 처리할 때, 먼저하고 있는 작업을 다 할 때까지 대기
- 동기: 그 결과를 전달 받으면 바로 다음 일 처리
- 사용 예 : java에서 입력 처리
2. non-blocking / sync
- non-blocking: 어떤 작업을 처리 할때, 이미하고 있는 작업이 있더라도 작업 같이 처리 가능.
- 동기: 결과가 완료 되었는지 확인, 결과가 끝나지 않은 상태면 돌아가서 다른 업무를 수행
- 사용 예: 게임에서 로드 정도를 보여주는 것
3. blocking / async
- blocking: 어떤 일을 처리할 때, 먼저하고 있는 작업을 다 할 때까지 대기
- 비동기: 결과를 바로 처리하지 않아도 됨
- 예: non-blocking/ async 조합을 쓰려다가 개발자의 실수로 사용되는 경우
4. non-blocking/ async
- non-blocking: 어떤 작업을 처리 할때, 이미하고 있는 작업이 있더라도 작업 같이 처리 가능.
- 비동기: 결과를 바로 처리하지 않아도 됨
- 사용: javascript에서 api요청 후 callback을 통해 추가적 작업을 할때
[10분 테코톡] 🐰 멍토의 Blocking vs Non-Blocking, Sync vs Async - YouTube
728x90
'기타' 카테고리의 다른 글
웹 브라우저에 URL 입력하면 일어나는 일 (0) | 2022.06.05 |
---|---|
HTTP/2 - compared to HTTP/1, websocket (http1, websocket과 비교) (0) | 2022.02.08 |
트랜잭션 문제 & 해결 + 용어 (0) | 2021.11.11 |
Websocket vs stomp (0) | 2021.07.03 |
프로토타입 figma, icon 찾기 (0) | 2021.04.20 |
댓글