Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- javascirpt
- Grading Students
- Time Conversion
- Apple and Orange
- 자료구조
- Sock Merchant
- Algorithm
- Birthday Chocolate
- 생활코딩
- Data Structure
- 자바스크립트
- git
- 알고리즘
- hackerrank
- 노드
- #nodejs#express
- Drawing Book
- nodejs
- alogrithim
- Ellectronics Shop
- #nodejs#노드js
- Migratory Birds
- Javascript
- Between Two Sets
- Breaking the Records
- Divisible Sum Pairs
- 짝수와 홀수
- A Very Big Sum
- 프로그래머스
- algorithim
Archives
- Today
- Total
ian의 개발일기장
7. 동기와 비동기 (Sync and Async) 본문
1. 정의
동기(Synchronous) - 줄여서 Sync 라고 하며, 일을 순차적으로 해결해나간다.
비동기(Asynchronous) - 줄여서 Async, 해야 할 일을 위임하고 기다린다.
2. 예제
동기와 비동기를 이해하기 위해서, nodejsd 내장모듈인 File System을 이용해보자.
File System이라는 내장모듈에는 readFile 과 readFileSync 라는 메소드들이 있다. fs.readFileSync가 동기함수이고, fs.readFile은 비동기 함수이다.
공식문서를 보면, 사용법이 잘 나와있다. readFileSync는 첫번째 인자는 path, 두번째 인자는 option으로 encoding 객체를 넣을수 있고 생략가능하다. path에 있는 파일의 내용을 리턴하는 메소드이다.
먼저 폴더에 sync_async.js 와 data.txt 파일을 만들자.
- data.txt에 사진과 같이 입력해주자.
- sync_async.js에 사진과 같이 입력해보자.
모두다 입력 후 터미널에서 실행을 하면 이렇게 나온다.
순차적으로 실행되는것을 알 수 있다. 이것이 바로 동기적으로 작동한것이다.
이번엔 비동기를 작성해보자.
- sync_async.js를 사진과 같이 바꿔보자.
2가 실행되고, readFile의 callback을 요청후, 4가 실행되고, 요청을 처리한후 callback이 실행되서 3과 console.log(data)가 보인다.
이것이 바로 비동기이다.
3. 정리
- 실행이 끝나고, 다음 코드가 실행되는 것 - 동기
- 이전 실행이 끝나는 것을 기다리지 않고, 다음 코드를 먼저 진행시키는것 - 비동기
출처 - 생활코딩, https://bluekms21.blog.me/10171193149, 노드공식문서
'Front-End > Node.js' 카테고리의 다른 글
9. Express - 간단한 웹어플리케이션 만들기 (0) | 2018.08.30 |
---|---|
8. Express 도입 및 설치 (0) | 2018.08.29 |
6. callback function (2) | 2018.08.28 |
5. npm (0) | 2018.08.25 |
4. 모듈 (0) | 2018.08.25 |