동기
1. 동기(Synchronous) 의 의미는 동기화(Synchronization)의 동기이다
2. 프로그래밍에서의 동기 의미는 현재 작업의 요청과 응답이 동시에 발생하는 것 으로 설명하지만
현재 작업의 응답과 다음 작업의 요청을 동시에 발생 이 더 적합하게 생각한다
동기 방식은 현재 작업의 응답과 다음 작업의 요청의 타이밍을 맞추는 방식이다
3. 이 응답이라는 것도 귀에 붙히면 귀걸이고 코에 붙히면 코걸이로, 네트워크 모델에서는 서버의 응답일 수도 있고 I/O 모델에서는 프로세스 제어권의 반납일 수도 있다.
4. 일반적으로 동기 방식이면 블록킹방식을 사용한다
예시) 동기+블록킹 방식 출근에 대한 응답이 도착하자마자 퇴근에 대한 요청을 시작한다

예시) 동기+논블록킹 방식 작업이 완료했는지 물어보는 응답과 요청을 지속적으로 하면서 대기상태가 아닌 작업을 처리한다

비동기
1. 동기의 '현재 작업의 응답과 다음 작업의 요청을 동시에' 의 반대로 응답을 신경쓰지 않고 요청 후 응답이 오기전까지 신경쓰지 않는다
2. 때문에 일반적으로 비동기방식이면 논블록킹 방식을 사용한다

출처:https://evan-moon.github.io/2019/09/19/sync-async-blocking-non-blocking/
'자잘한내용들' 카테고리의 다른 글
윈도우 포멧 후 spring 환경 체크목록 (0) | 2023.11.19 |
---|---|
소스트리 git 팀프로젝트 푸쉬 권한 문제 (0) | 2023.03.14 |
VS코드 단축키 정리 (0) | 2023.03.07 |