반응형
동기란?
- 코드가 반드시 작성된 순서로 실행된다
- 요청 후 응답을 받지 못하면 바운드 상태를 유지한다
- 이전 요청에 대한 응답을 받아야만 다음 코드를 진행하므로 연산이 느려진다
예) 주문 받은 순서대로 처리한다. 앞선 주문이 완료되지 않으면 다음 주문으로 넘어가지 않는다
비동기란?
- 코드가 반드시 작성된 순서로 실행되는 것이 아니다
- 요청 후 응답을 받지 못해도 바운드 없이 다음 코드를 수행한다
- 이전 요청에 대한 응답을 기다리지 않으므로 동기보다 더 빠르게 연산이 가능하다
예) 주문을 수행하지만 완료되지 않아도 다음 주문을 진행한다
무조건 비동기가 좋을까?
- 단순한 계산은 비동기로 구현할 경우 코드가 복잡해지고 유지보수가 어려워질 수 있다
- 다음 단계로 넘어가면 안되는 계산이라면 동기로 구현하자
동기 비동기 비교를 위한 시간 측정 코드
'''
time.time() 현재 시간을 체크하는 코드
time.sleep([초]) 인수로 넣은 초만큼 코드를 지연시키는 코드
'''
import time
start = time.time()
'''
수행할 코드
'''
end = time.time()
반응형
'나는 이렇게 학습한다 > CS' 카테고리의 다른 글
TCP와 UDP 비교 (0) | 2022.03.20 |
---|---|
메모리 단편화를 해결하는 세 가지 방법 (0) | 2022.02.09 |
동시성(병행성) vs 병렬성 (0) | 2022.01.16 |
컴퓨터 구조와 운영체제 기본 (2) | 2022.01.16 |
CPU 바운드와 I/O 바운드 (0) | 2022.01.15 |