적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

컴퓨터시스템

[데이터 처리] 동기식 비동기식 Synchronous Asynchronous

hongssup_ 2020. 12. 21. 12:47
반응형

● 동기화, 비동기화?

데이터를 처리하는 방식에는 동기식 방식과 비동기식 방식이 존재한다.

 

동기식(왼), 비동기식(오) 데이터 처리 모델

동기식 처리 모델(Synchronous processing model)
- 한 자원에 대해 동시에 접근하는 것을 제한하는 방식
- 직렬적으로 태스크(task)를 수행 (순차처리)
- 어떤 작업이 수행 중이면 다음 작업은 대기하게 된다. (버퍼링이 발생)
ex) 서버에 데이터를 요청하고 데이터가 응답될 때까지 이후 태스크들은 블로킹(blocking, 작업 중단)된다.
장점 : 설계가 간단하고 직관적
단점 : 결과를 볼 때까지 아무것도 못하고 대기해야함

• 동기화 : 한 메서드가 실행되는 동안 다른 메서드 실행이 불가능하도록 블락하는 것.


비동기식 처리 모델(Asynchronous processing model 또는 Non-Blocking processing model)
- 한 자원에 대해 동시에 접근이 가능
- 병렬적으로 태스크를 수행
- 태스크가 종료되지 않은 상태라 하더라도 대기하지 않고 다음 태스크를 실행한다. (버퍼링이 적다)
ex) 서버에 데이터를 요청한 이후 서버로부터 데이터가 응답될 때까지 대기하지 않고(Non-Blocking) 즉시 다음 태스크를 수행한다.
장점 : 결과가 주어지는데 시간이 걸리더라도 그 시간 동안 다른 작업이 가능해 자원의 효율적인 사용이 가능
단점 : 설계가 동기식보다 복잡함

• 비동기화 : 한 메서드가 실행되는 도중에 다른 메서드 실행이 가능하게 하는 것.

728x90
반응형