Asynchoronous VS Synchoronous

ellyheetov·2021년 1월 27일
2
post-thumbnail

대기 유무의 관점에서 동기/비동기

Synchoronous

일반적으로 동기는 한번에 한가지 일만 한다는 의미이다. Task A가 끝나면 Task B가 시작되고, Task B가 끝나면 Task C가 시작된다. 이와 같이 모든 태스크들은 순차적으로 실행된다. 어떤 태스크가 실행중인 경우 다음 작업은 대기하게 되는 것이다.

Asynchoronous

동기 방식이 직렬적으로 task를 처리했다면 비동기 방식은 병렬적으로 task를 수행한다. 즉, task가 작업을 완료하지 않은 상태라고 하더라도 대기하지 않고 다른 작업을 수행한다.

시간의 관점에서 동기/비동기

Synchoronous

Synchoronous : syn(함께) + choronous(맞춘다)

'함께 시간을 맞춘다.'라는 관점으로 동기의 의미를 생각해보자. 현재 수행중인 task는 제어권을 가지고 있다. task의 수행이 끝난 후 제어권과 결과값을 동시에(same time) 반환하게 된다.

Asynchoronous

ASynchoronous : A(안) + syn(함께) + choronous(맞춘다)

'함께 시간을 맞추지 않는다.'라는 관점으로 비동기의 의미를 생각해보자. 현재 수행중인 task는 제어권을 가지고 있다. task의 수행이 끝난 후 제어권과 결과값을 동시에(same time) 반환하지 않는다. 제어권을 반환하지만, 결과값은 반환되지 않을 수있는 말이다.

다시 말하지만 제어권의 반환과 결과값의 반환이 동시에 이루어지지 않는다.

profile
 iOS Developer 좋아하는 것만 해도 부족한 시간

0개의 댓글