인프런 커뮤니티 질문&답변

정채진님의 프로필 이미지

작성한 질문수

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

파일 시스템 사용하기

노드 비동기 동작 질문

24.04.05 23:38 작성

·

212

·

수정됨

0

0. 대부분 무거운 연산이나 오래걸리는 일들을 비동기로 보내는 것으로 이해했습니다. 그런데 결국 비동기요소들이 Background 대기 후 Task Queue으로 이동 후 Stack이 비었는지 확인 하고 Stack에 이동하여 진행되는 것일 텐데 이것들이 동시에 처리되는 것이라고 볼 수 있나요 ? 아니면 Background에 있는 동안 Promise와 같은 비동기 요소들이 백그라운드에서 동시에 Logic이 처리되고 Queue로 resolve혹은 reject의 값이 Stack으로 넘어가나요 ? 구체적인 동작방식이 궁금합니다.

답변 2

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2024. 04. 06. 00:18

백그라운드에 가있는 동작들만 동시에 처리됩니다. 나머지는 다 큐 형식으로 한 번에 하나씩만 처리됩니다.

정채진님의 프로필 이미지
정채진
질문자

2024. 04. 06. 00:34

모든 비동기 작업이 백그라운드에서 처리된다는 것은 아니라는 걸까요 ?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2024. 04. 06. 00:49

네 단순한 프로미스나 이런 건 백그라운드에서 처리되지 않습니다. 타이머 네트워크 파일시스템 등 백그라운드에서 처리되는 정해진 것들이 있습니다.

0

정채진님의 프로필 이미지
정채진
질문자

2024. 04. 06. 00:15

뒤에 강의보니 기본적으로 4개의 스레드가 백그라운드에서 처리하고, UV_THREAD_POOL_SIZE로 백그라운드 처리 스레드를 늘릴 수 있군요 !