본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


동기화2

Java synchronized, ReentrantLock, semaphore 자바에서는 동기화에 대한 지원을 여러방법으로 가능토록 하는데 대표적으로 synchronized와 semaphore를 통해서 쉽게 구현하게 해 주고 있다. synchronized는 메소드나 문장구간등에 선언하여 해당 행동이 끝날 때 까지 다른 쓰레드가 접근을 못하도록 하는데 반해 semaphore는 좀 더 유연하다 semaphore는 접근할 수 있는 쓰레드의 수와 외부에서 락 또는 릴리즈 등에 대한 컨트롤도 가능 할 수 있게 해준다. 일반적인 동기화의 예제코드이다. public class Tester { public static void main(String args[]){ Tester mm = new Tester(); try { new Thread(()->{ try { mm.looper(1234); } .. 2019. 6. 13.
Node.js 반복문에서의 동기화, bluebird 노드.js는 이벤트 루프방식으로 동작하는 언어라..작업이 좀 걸린다 싶은(?) 느낌의 작업은 기다려주지 않고 던저버리는 경우가 일쑤이다. 가령, 반복문에서 어떠한 작업을 하고 있는데..해당 반복문이 끝나고 결과값을 가지고 데이터를 처리하는 행위를 해야되는데..노드에서 해당 작업을 기다려주지 않고 지나가는(?) 경우가 많다. ​ 이를 극복하기 위해서 Promise나 async, await등 여러 방법이 존재하지만, 이러한 프로세스를 반복문에서 막상 적용시키려면..조금 복잡하고 어렵다. 구글링을 해도 잘 되지도 않는 것 같고.. 아무튼, 좋은 방법중 하나로는 bluebird 라는 모듈을 설치하면 쉽게 처리 할 수 있다. 먼저 모듈을 설치한다. ​ npm install bluebird http://bluebi.. 2019. 4. 28.