본문 바로가기
728x90
반응형
SMALL

비동기처리2

[Node.js] 노드제이에스 - 논블로킹I/O Do it! Node.js 프로그래밍 입문 4일차 입니다. 노드에서는 대부분의 작업을 비동기로 처리합니다. 이것은 노드가 논블로킹I/O로 동작하기 때문입니다. 블로킹I/O 블로킹이란 코드 실행을 중간에 막는 것으로 코드 실행이 멈춘다는 뜻입니다. 동기함수를 사용하면 블로킹, 즉 코드 실행을 막는 현상이 발생할 수 있습니다. const fs = require("fs") const data = fs.readFileSync("./03/example.txt") // 블로킹 console.log(data) // 파일읽기 끝날때까지 대기 console.log("The End") 위에 코드는 간단해서 큰 차이를 못느낄 수도 있지만 서버를 사용할 때는 더 문제가 됩니다. const http = require('http.. 2024. 2. 6.
[Node.js] 노드제이에스 - 동기처리와 비동기처리 Do it! Node.js 프로그래밍 입문 공부단 4일차 입니다. 동기처리 동기처리란 작성한 순서대로 작업을 처리하는 것을 동기처리라고 합니다. 자바스크립트는 기본적으로 동기처리 방식입니다. console.log("first") console.log("second") console.log("third") 자바스크립트는 싱글 스레드 언어이기 때문에 위와 같은 결과가 나옵니다. 스레드란 하나의 작업이 실행되는 최소단위입니다. 자바스크립트는 이런 스레드가 하나밖에 없어서 한 번에 하나의 작업만 처리할 수 있습니다. 반면에 자바를 비롯한 대부분의 백엔드 프로그래밍 언어는 멀티 스레드입니다. 그래서 동시에 여러 작업을 수행할 수 있습니다. 비동기처리 console.log("first") setTimeout(() .. 2024. 2. 6.
728x90
반응형
LIST