본문으로 바로가기

[기타] aysnc thread란

category 프로그래밍기타 11개월 전
반응형

async thread는 비동기 쓰레드라고 합니다.

비동기 작업과 멀티 쓰레딩을 결합한 용어입니다.

보통 이걸 언제 많이쓰냐하면 파일 읽기쓰기, 네트워크처리 등 효율성을 극대화 하기 위해 사용하는 기술입니다.

즉, 특정 루프를 사용하여 하나의 쓰레드에서 여러 작업을 동시에 처리합니다.

비동기 프로그래밍과 멀티스레딩을 조합하여 비동기 작업을 여러 스레드에서 동시에 실행할 수 있습니다.

요약하자면 비동기 프로그래밍은 작업의 효율성을 극대화합니다.

쉬운 이해를 위해서 비동기 방식, 멀티쓰레딩, 비동기 쓰레드에 대한 예를 들어보겠습니다.

1. 비동기 방식 : 바리스타가 커피를 추출하는 동안 기다리지 않고 다른 손님의 주문을 받고, 커피가 다 추출되면 다시 돌아와서 다음 작업을 하는 방식입니다.

ex) 바리스타가 A 손님의 에스프레소를 추출하는 동안, B 손님의 라떼 주문을 받고, C 손님의 차 주문도 받습니다. 에스프레소가 다 추출되면 A 손님에게 전달하고, 라떼 만들기 시작, 그리고 C 손님의 차도 준비합니다.
이렇게 하면 바리스타는 여러 손님의 주문을 동시에 처리할 수 있습니다. 각 작업이 완료될 때까지 기다리지 않기 때문에 효율적입니다.

2. 멀티스레딩 : 카페에 여러 명의 바리스타가 있는 경우와 비슷합니다.

ex) 바리스타 1은 A 손님의 에스프레소를 만들고, 바리스타 2는 B 손님의 라떼를 만들고, 바리스타 3은 C 손님의 차를 만듭니다.
이렇게 하면 여러 작업을 병렬로 처리할 수 있기 때문에 작업이 더 빨리 끝날 수 있습니다.

3. 비동기 쓰레드 방식 : 바리스타들이 각자 비동기적으로 여러 손님의 주문을 처리하면서, 여러 바리스타가 동시에 일을 하고 있는 상황입니다.

예시: 바리스타 1이 A 손님의 에스프레소를 추출하는 동안, 다른 바리스타들이 B 손님의 라떼와 C 손님의 차를 만들고 있습니다. 바리스타 1이 추출이 끝나기 전에 다른 손님의 주문도 받고, 주문이 준비되면 즉시 그 작업으로 전환합니다.
이렇게 하면 카페 전체의 효율성이 크게 향상됩니다. 각각의 바리스타는 비동기적으로 일을 처리하고, 여러 바리스타들이 동시에 여러 작업을 처리함으로써, 전체적으로 더 많은 손님을 더 빠르게 응대할 수 있습니다.

오늘 포스팅은 여기까지하겠습니다.

반응형

프로그래밍기타카테고리의 다른글

[기타] 해시테이블  (0) 2021.04.30
[기타]Tika 라이브러리  (0) 2020.10.26
[기타] 컴파일, 어셈블, 링킹, 인터프리터  (0) 2019.07.06
[기타] 시프트 연산  (0) 2019.07.04
[기타] 트레버싱  (0) 2019.07.02