inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

node에서 말하는 non-blocking에 대한 개념 문의

250

water

작성한 질문수 1

0

안녕하세요 node에서 말하는 non-blocking에 대한 개념에 대해 문의 드립니다.

단원 "1.2 노드의 구성 - 2. 논 블로킹" io 에서 설명하시기를 논 블로킹은 오래 걸리는 함수를 백그라운드로 보내는 방식으로 설명돼 있는데, 우선 non-blocking은 서버측 소켓 구현방식으로 알고 있어서, 제가 알고 있는 기준에서 좀 이해가 안 돼 문의드립니다. 서버측 기준에서 논 블로킹 자체의 의미에서 클라이언트의 io 접속 처리를 work thread에 바로 위임한 후, 뒷 따르는 다음 함수를 처리함에 있어 node 에서 만은 추가적으로 함수의 실행 시간까지 미리 판단해 background 로 병렬 처리까지 한다는 의미인지 문의드립니다.

 

mongodb mysql nodejs Sequelize

답변 1

0

제로초(조현영)

추가적으로 함수의 실행시간까지 미리 판단한다는 게 무슨 뜻인지 잘 모르겠습니다.

노드는 위임 후에는 전혀 그 작업에 대해 신경쓰지 않습니다. 나중에 콜백 방식으로 메인쓰레드가 위임했던 작업들이 끝났음을 알림받습니다. 그래서 스레드가 하나여도 여러 작업을 동시에 처리하는 것처럼 효과를 얻을 수 있습니다.

메인스레드가 하는 작업은 스레드풀로 보내는 작업 + 콜백이 왔을 때 콜백 내용 처리하는 작업밖에 없습니다.

0

water

강의내용 중 "단원 "1.2 노드의 구성 - 2. 논 블로킹" io 에서 설명하시기를 논 블로킹은 오래 걸리는 함수" 를 백그라운드로 보낸다는 식으로 강의내용으로 기술돼 있어서 이 부분(" 논 블로킹은 오래 걸리는 함수")에 대한 질문이었습니다.

그렇다면, 이 부분에 대해 저는 기본적인 non-blocking 외에 추가적으로 nodes.js에서의 non-blocking은 강의내용이 기입된 대로 오래 걸리는 함수는 백그라운드로 보내는 추가적인 기능이 있구나 로 이해했던 겁니다.

그렇다면, 강의 내용중 "단원 "1.2 노드의 구성 - 2. 논 블로킹" io 에서 설명하시기를 논 블로킹은 오래 걸리는 함수"" 부분은 에서 "오래 걸리는 함수" 라 설명된 부분이 설명상 잘못 된 부분인지, 또는 그렇지 않다면, "오래 걸리는 함수"로 설명된 부분의 의미를 알고 싶습니다.

 

 

0

제로초(조현영)

오래 걸리는 함수라고 해서 다 백그라운드로 보내지는 것은 아니고요. 자바스크립트에서는 백그라운드로 보내질 수 있는 함수가 정해져 있습니다. Promise, Timer, 파일 시스템, 암호화 등의 함수들입니다. 보통 이런 함수들은 네트워킹이나 CPU 작업들을 많이 하므로 오래 걸리는 것이고요. 그래서 백그라운드로 보낼 수 있도록 설계되어 있습니다.

리눅스 노드 설치시 패키지

0

162

0

socket.js 에서 referer로부터 roomId를 가져올 때

0

907

3

스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문

0

2281

2

a[title] 질문드립니다

0

376

1

리뉴얼 강의 및 공부 방법

0

583

1

jwt decode

0

1129

1

node.js 교과서 3판 질문드립니다

0

392

1

passport와 jwt

0

434

1

리뉴얼 강의

0

421

2

혹시 Node.js 교과서 3판 이북은 언제 나오나요?

0

355

1

몽고디비 사용자도 MYSQL부분을 들어야 하나요???

0

482

1

sql 쿼리 로그는 어떤 모듈이 작성하나요?

0

506

2

nunjucks res.render('error'); 작동을 안합니다.

0

512

1

질문있습니다.

0

348

1

multer 한글 파일 업로드시 파일명이 깨져요.

1

3536

1

수업자료는 어디있나요?

0

368

1

질문 있습니디

0

237

1

multer 사용시 file 외 name값은 못받나용?

0

417

1

코드 중복 부분 질문드립니다.

0

299

1

api 만드는 이유 질문드립니다.

0

288

1

Strategy의 done에 대해 질문드립니다.

0

367

1

안녕하세요 fs 권한 관련 질문드립니다

0

451

1

시퀄라이즈 연결질문...

0

500

2

res.setHeader vs res.cookie

0

1789

3