비동기와 멀티스레드는 같은 뜻이 아닙니다.
해당 의미를 정확하게 이해해야 업무에 큰 도움이 됩니다. (제가 그랬어요..)
의미를 간단하게 정리하자면 아래와 같습니다.
동기= 순서
스레드= 공간 or 일꾼
그럼 이제, 하나씩 살펴보겠습니다.
동기: 순차적으로 실행되는 것
비동기: 요청은 받은 뒤 먼저 작업이 끝난 순으로 실행되는 것
단일스레드: 프로세스가 단일로 동작하는 것
대표적인예로 자바스크립트가 단일스레드 언어입니다.
멀티스레드: 프로세스가 다중으로 동작하는 것
경우의 수가 아래와 같이 총 4개가 있습니다.
- 단일 스레드 — 동기
- 멀티 스레드 — 동기
- 단일 스레드 — 비동기
- 멀티 스레드 — 비동기
이해하기 쉽게 식당으로 예시를 들어보겠습니다.
1. 단일 스레드 — 동기
본점에서 음식을 주문 -> 조리 완료 -> 다음 주문받음
2. 멀티 스레드 — 동기
본점,1호점,2호점 중 한곳에서 음식을 주문 -> 조리 완료 -> 다음 주문받음
3. 단일 스레드 — 비동기
본점에서 음식을 주문 -> 조리 및 주문받기 -> 조리가 빠른 순서대로 제공
4. 멀티 스레드 — 비동기
본점,1호점,2호점 중 한 곳에서 음식을 주문 -> 조리 및 주문받기 -> 조리가 빠른 순서대로 제공
요즘 웹사이트는 비동기로 만들어지는 추세입니다.
지금까지의 설명을 들어보면 멀티 스레드 — 비동기 가 제일 좋아 보이지만,
코드가 복잡해지고 공수도 많이 발생하게 됩니다.
고객의 니즈를 정확하게 파악하여 상황에 맞게 선택하시길 바랍니다.
'웹 (web)' 카테고리의 다른 글
스마트에디터 Access denied 오류 해결 (0) | 2023.05.25 |
---|---|
NodeJs, mysql과 연동시 에러 (0) | 2023.02.22 |
서버 패치 스크립트로 쉽게 관리하기 (0) | 2023.01.25 |
PM2 로그 설정 쉽게 하기 (0) | 2023.01.25 |
그누보드 소개 (0) | 2017.08.26 |