개인공부
동기 vs 비동기 본문
동기 vs 비동기
한마디로 말해서, 동기와 비동기는 A와 B 두 대상이 데이터를 주고 받는 교환하는 방법의 차이이다.
동기
동기식 처리 방법은 A가 B에게 데이터를 요구했을 때, 이 요청에 따른 응답을 주어야만 A가 다시 작업 처리가 가능하다.
Synchronous란 뜻은 '동시에 일어난다'라는 뜻을 가지며,
여기서 동시에 일어난다는 것은 요청에 따른 응답이 동시에 일어난다는 것을 뜻한다.
비동기
Asynchronous란 뜻은 '동시에 일어나지 않는다'라는 뜻을 가지며, 비동기식 처리 방법은
A의 요청에 따른 응답을 B가 즉시 전해주지 않아도, 그 유휴 시간동안 A는 또 다른 작업을 처리 가능한 방식을 의미한다.
여기서 유휴 시간의 존재가 있다고해서 비동기식 처리 방법은 굉장히 느린 것이 아니다. 이 유휴 시간은 요청에 따라
B가 이를 처리하는 과정이 무척 길수도 있겠지만, 대부분 굉장히 짧다. 단지, 연속적인 속성을 지니지 않을 뿐이다.
컴퓨터는 사람에겐 무척이나 짧은 1초동안 자신의 CPU 헤르츠만큼 작업을 수행할 수 있다.
그렇기에 1초, 아니면 1초보다 더 짧게 내지는 더 긴 시간을 아무 행동없이 보내는 것은 컴퓨터 활용에서 굉장히 아쉽다.
이런 시간들을 사용하여 좀 더 유연하고 효율적인 작업을 하는 방식을 비동기식 방식이라고 하며,
오직 하나의 작업에만 충실하여, 이 작업 이외엔 컴퓨터를 활용하지 않는다면 동기식 방식이라고 한다.
'JAVA 기초복습' 카테고리의 다른 글
parseInt와 valueOf의 차이 (0) | 2018.07.28 |
---|---|
기초 복습 - Math (0) | 2018.06.16 |
Get 과 Post 방식의 차이 (0) | 2018.05.30 |
main에 static이 있는 이유 (0) | 2018.05.28 |
이클립스 단축키 모음 (0) | 2018.05.27 |
Comments