비동기
-
동기화(Synchronized)Java & Spring/자바 2020. 10. 20. 20:24
동기화 자바에서 동기화(synchronized) 구현하는 방식 두 가지 동기화(synchronized) 여러 개의 스레드가 하나의 자원을 사용할 때, 현재 데이터를 사용하고 있는 스레드를 제외한 나머지 스레드들을 데이터에 접근할 수 없도록 막는 개념 synchronized 키워드를 남발하면 프로그램 성능 저하 구현 방법 synchronized method 방법 메소드 앞에 synchronized 키워드를 붙여주면 간단하게 사용 가능 public synchronized myMethod(type param) { // ... } synchronized block 방법 파라미터에 공유할 객체를 넣어서 사용 synchronized (공유 객체) { // ... } public void exMethod() { //..
-
Async & Await , PromiseJava Script/기본 개념 정리 2020. 8. 17. 11:46
비동기란 ? 요청한 내용을 응답해 줄 것을 약속한다는 의미 즉, 요청과 응답이 바로 일어날 수도, 다른 시간대에 일어날 수도 있음 콜백함수란 ? 콜백이란 이름이 있는 것이 아니라, 함수의 사용 용도가 call / back인 함수를 의미한다. 클릭 이벤트가 발생할 때 출력되는 콜백 함수와 같은 말을 들어본 적이 있을 것이다. Promise란 ? promise로 구현된 비동기 처리 함수는 콜백을 예측 가능한 패턴으로 사용하도록 도와준다. 콜백 함수 안에서 생성된 프로미스 객체를 활용해 콜백함수가 성공,실패,오류 경우에 따라 후속 처리를 할 수 있다. 순차적이지 않은 비동기 함수의 실행 순서를 제어할 수 있게 도와준다. 콜백 패턴에 비해 코드 가독성이 좋고 반환된 결과물을 사용하기 편하다. Promise 작동..
-
JS 표준 입력 방법 (node.js readline), 비동기(Async & Await)패턴Java Script/기본 개념 정리 2020. 7. 27. 22:49
표준 입력 readline 모듈 이용 const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); // 한 번 입력 rl.question(">>문자를 입력해주세요 : ", (line) => { rl.close(); console.log(line); // 입력 값 찍어보기 }); // 여러번 입력 rl.on("line", (line) => { if(line === "quit") rl.close(); console.log(line); }); rl.on('close', () =>{ process.exit(); }); question 한 번 입력, 파..