비동기
-
asynchronous-synchronous programmingTodayILearned/TILWIL 2022. 5. 2. 02:31
노드의 동기, 비동기, 블로킹, 논블로킹 개념은 엄청 기본적인 상식이다. 하지만 잠깐 외웠다가도 금방 헷갈리는 개념이었는데, 동기, 비동기는 무엇과 동기되고 비동기된다는 뜻일까? 스레드*의 흐름이 공통자원의 데이터와 동기, 비동기 된다고 생각하면 될 것 같다. 동기라는 단어는 운영체제 강의에서 자주 들어본 단어이다. 운영체제에서 동기화에 대해서는 이렇게 설명한다. 공통 자원에 여러명이 동시에 접근할 때, 임계구역 문제가 발생한다. 이것을 해결하기 위해 프로세스/스레드를 동기화하는데 이 때 동기화 도구로 세마포어가 있다. 세마포어는 공통된 자원에 접근하는 여러 프로세스들을 관리하는 것인데, 예를들어 내 은행계좌(인데 천만원이 있는) 에서 A가 천만원을 빼간 후, B가 동시에 천만원을 또 출금하겠다고하면 은..
-
async, await 의 개념(1)TodayILearned/node.js 2020. 10. 11. 02:22
복습이나 기록을 한 번 미루다보니 쌓이고 쌓이는 글감만 늘어서;; 쳐내야겠다! async: javaScript는 이전의 작업이 끝나기 전에 다른 작업을 시작한다. 따라서 video파일을 읽기 전에 video페이지를 읽음. 빈 video페이지를 읽는 결과를 보여줌. (비디오파일을 보면서 동시에 렌더파일도 확인함) export const home = async(req, res) =>{ //await function은 async없이 쓸 수 없음 const videos = await Video.find({});//await:이하의 과정이 끝날 때 까지 기다림 res.render("home", {pageTitle: "Home", videos})//Video.find({})로 찾은 비디오들이 videos에 저장됨 ..