• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

노드 비동기 동작 질문

24.04.05 23:38 작성 24.04.05 23:42 수정 조회수 99

0

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

답변 2

·

답변을 작성해보세요.

0

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

정채진님의 프로필

정채진

질문자

2024.04.06

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

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

0

정채진님의 프로필

정채진

질문자

2024.04.06

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