싱글 스레드, 멀티 스레드
스레드는 작업흐름이라고 생각한다.
예를 들어 큰 공장이 하나 있고 그 공장엔 컨테이너 벨트가 있다고 가정하자.
이 컨테이너 벨트는 재료를 올리면 조립 후 완성품을 내놓는다.
싱글 스레드는 이 공장에 컨테이너 벨트가 하나인 것이다.
상품 A 부품, 상품 B 부품, 상품 C 부품, 상품 D 부품을 공장이 작업한다고 하면
하나의 컨테이너 벨트에서 작업을 수행한다.
상품 A의 조립이 끝나면 상품 B를 조립하고, 상품 B의 조립이 끝나면 상품 C의 조립을 한다.
반면 멀티 스레드는 컨테이너 벨트가 여러 개가 있어서 일처리를 나눠서 하는 것이다.
여기서 프로세스는 공장으로 스레드는 컨테이너 벨트로 비유했다.
동기(Synchronous), 비동기(Asynchronous)
동기는 위에서 싱글 스레드와 멀티 스레드에서 설명한방식이 동시 방식이다.
한 스레드안에서 하나의 작업이 시작되면 그 작업이 끝나야 다음 작업을 진행할수가 있다.
반면 비동기는 작업도중 현재상태를 저장후 보류하고 다른 작업을 실행할수있다.
상품 A를 조립하다가 B를 조립했다가 다시 A를 조립했다가 C를 조립한다.
상품 A를 먼저 조립했다고하며 A먼저 조립이 완료되는건 아니다.
비동기 멀티 스레드도 마찬가지다.
'ETC' 카테고리의 다른 글
JWT 내 멋대로 정리해보기 (2) | 2024.03.18 |
---|---|
한글도메인 퓨니코드 (0) | 2021.09.14 |