Synchronous- 직렬처리, Asynchronous- 병렬처리
요청을 하고 결과가 반환될 때까지 기다림
직렬처리
장점: 설계가 간단하고 직관적
단점: 결과가 반환될 때가지 다른 작업을 수행할 수 없음
예
const fs= require('fs')
console.log('A')
let result= fs.readFileAsync('text/text.txt','utf8') //B
console.log(result)
console.log('C')
출력: A B C
요청을 하고 결과가 반환될 때까지 기다리지 않고, 다른 작업을 수행
병렬처리
장점: 결과 반환시까지 기다리지 않고 다른 작업을 수행함으로써 자원을 효율적으로 사용
단점: 동기보다 복잡
예
const fs= require('fs')
console.log('A')
fs.readFile('test/test.txt','utf8',function((err,result)=>{
console.log(result) //B
}))
console.log('C')
출력: A C B
NodeJS 성능 향상의 핵심!