논블로킹 I/O

 

  • 오래 걸리는 함수를 백그라운드로 보내서 다음 코드가 먼저 실행되게 하고, 그 함수가 다시 태스크 큐를 거쳐 호출 스택으로 올라오기를 기다리는 방식이 논블로킹 방식입니다.

  • 즉, 이전 작업이 완료될 때까지 멈추지 않고 다음 작업을 수행합니다.

  • 작업 처리에 시간단축을 시킬 수는 있지만 싱글 스레드라는 특성을 가지고 있어서 한계가 있습니다.

  • I/O는 입력(Input)/출력(Output)을 의미합니다. 파일 시스템 접근이나 네트워크 요청 같은 작업이 I/O의 일종입니다.

 

싱글 스레드

 

  • 스레드는 프로세스 내에서 실행되는 흐름의 단위입니다.

  • 하나의 프로세스는 스레드를 여러 개 가질 수 있습니다.

  • 스레드들은 부모 프로세스의 자원을 공유합니다.

  • 쉽게 말하면, 스레드란 컴퓨터 작업을 처리할 수 있는 일손으로 비유할 수 있습니다.

  • 노드는 싱글 스레드이므로 주어진 작업을 혼자서 처리해야 합니다.

  • 노드는 프로세스 자체를 복사해 여러 작업을 동시에 처리하는 멀티 프로세싱 방식을 택했습니다.

+ Recent posts