Blocking

Minhyeok Kim·2022년 8월 31일
0

개념

목록 보기
6/13

async patterns 에서 blocking 한다는게 뭔지 한번 보자.

console.log("Welcome to Node Tutorial");
// 1. 아무것도 연관되지 않고 바로 실행되겠지 ?
const http = require("http");

const server = http.createServer((req, res) => {
  if (req.url === "/") {
    res.end("Home Page");
    // 3. 3000 포트로 서버에 접속하면 웹상에서 출력이 될거고
  } else if (req.url === "/about") {
    // This is blocking code
    // 4. /about 으로 타고 들어가면!!!
    for (let i = 0; i < 1000; i++) {
      for (let j = 0; j < 1000; j++) {
        console.log(`${i} ${j}`);
        // 6. 여기서 모든 계산이 끝나면
      }
    }
    res.end("about page");
    // 7. 페이지가 "about page" 를 출력하면서 마무리
  } else {
    res.end("Error page");
    // 5. 여기가 중요한데, "about page" 보다 "Error page"가
    //  먼저 출력이 된 이후에!!!!!!!!
  }
});

server.listen(3000, () => {
  console.log("the server is listening on port 3000...");
});
// 2. 서버가 열리면서 출력이 되겠고,

blocking 당해서 돌고 있는 중...

1000 years later...... 완료 됨

0개의 댓글