일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- db
- 비동기
- node winston
- 개발일지
- 노드 윈스턴
- 1주차
- 4주차
- post
- JWT
- Node.js
- NoSQL
- 3주차
- HTTPS
- Sequelize
- MongoDB
- 5주차
- Get
- OpenAPI
- 숙제
- 트랜잭션
- 웹 스크래핑(크롤링)
- cors
- 스파르타코딩클럽
- 2주차
- SQL
- 부트스트랩
- 위키백과
- Transaction
- 항해99
- nginx
- Today
- Total
얼음꽃의 일지
동기, 비동기와 블록,논블록 본문
1. 동기 (Synchronous)
-> 동시 일어난다 라는 뜻
-> 근데 그림은 동시에 안일어나는거 아냐? 라고 하실수 있지만, 여기서 동시는 현재 요청한 데이터의 결과와 미래에 요청할 데이터의 시작이 맞물리는 지점이 동시에 일어나서 그렇습니다.
-> 이전 데이터가 다 처리가 될때까지 기다려하기 때문에 시간이 오래걸릴 수 있습니다.
-> 설계는 매우 간단합니다.
-> ex ) 계좌 이체를 한 은행에서 다른 은행으로 할때
2. 비동기(Asynchronous)
-> 동시에 일어나지 않는다 라는 뜻
-> 그림과 같이 Synchronous와 반대로 딱딱 요청, 결과가 맞물리는게 아닌 따로 놀기 때문에 동시에 일어나지 않아서 그렇습니다.
-> 데이터를 동시에 처리하기 때문에 시간을 효율적으로 사용할 수 있습니다.
-> 동기보다는 설계가 복잡합니다.
-> ex ) 학교에서 중간, 기말 볼때
사용을 어떻게 하냐에 따라 동기가 좋을수도 있고, 비동기가 좋을수 있습니다.
동기와 비동기랑 비슷한 관계를 하나 더 얘기하면 블록(동기), 논블록(비동기)이 있습니다.
1. 블록
-> 동기와 비슷
-> A함수, B 함수 존재하는데, A함수가 끝나기 전까지는 B는 호출 불가
-> 즉, 완전히 끝날때까지 제어권을 가지고 있어서 호출한 함수에 return하지 않으면 블록
2. 논블록
-> 비동기와 비슷
-> A함수, B함수 존재하는데, A함수가 시작함과 동시에 return해서 B함수가 실행
-> 즉, 호출된 함수가 자기 일이 안끝나도 바로 return해줌으로서 다른 함수가 일을 할수 있도록 해주는 것
동기, 비동기와 블록, 논블록을 합쳐서 사용도 가능합니다.
참고 링크
'항해 일지' 카테고리의 다른 글
스택, 큐는 어떤 아이들인가? (0) | 2022.12.17 |
---|---|
‘==’와 ‘===’ 연산자의 차이 (0) | 2022.12.17 |
Node.js 란? (0) | 2022.12.13 |
OSI 7계층, TCP/IP 5계층 (0) | 2022.12.13 |
소셜 로그인(카톡, 구글, 네이버) (0) | 2022.12.10 |