<aside>
✅ 체크 표시는 완료된 내용, ✏ 연필 모양은 아직 작성 중인 상태입니다.
</aside>
링크 :
나의 학습 공간 | Notion
고성능 검색 엔진 구축으로 한 번에 끝내는 Elasticsearch 초격차 패키지 Online.
엘라스틱 설치 실무 가이드
Kafka Study
Spring AI Study
AI 관련
Redis
Elastic Search Study(기초)
K8S Study
MSA Study
개인 학습
React Study
원티드 프리온보딩
서버 구성도
개발환경 세팅 및 분석
Ch.0 Sample (1)
1) Synchronous(동기) VS Asynchronous(비동기)
비동기 개념
- 작업을 다른 쓰레드에서 하도록 시킨 후, 그 작업이 끝나길 “안 기다리고” 다음일을 진행한다.
- 대부분은 서버와의 통신(네트워크 작업) 때문
동기 개념
- 작업을 다른 쓰레드에서 하도록 시킨 후, 그 작업이 끝나길 “기다렸다가” 다음일을 진행한다.
2) Serial(직렬) VS Concurrent(동시)
Serial 직렬 처리
- 분산 처리 시킨 작업을 “다른 한 개의 쓰레드에서” 처리
- 동시 처리가 좋아보이는데 왜 직렬 처리가 필요한가?
- 작업에 순서가 필요할 수 있다.
- 순서가 중요한 작업을 처리할 때 사용
Concurrent 동시 처리
- 분산 처리 시킨 작업을 “다른 여러 개의 쓰레드에서” 처리
- 각자 독립적이지만 유사한 여러 개의 작업을 처리할 때 사용
3) 왜 동시성(Concurrency) 프로그래밍이 필요한가?
비동기(Async)란 말과 동시(Concurrent)란 말이 같은 말인가?