동기
-
asynchronous-synchronous programmingTodayILearned/TILWIL 2022. 5. 2. 02:31
노드의 동기, 비동기, 블로킹, 논블로킹 개념은 엄청 기본적인 상식이다. 하지만 잠깐 외웠다가도 금방 헷갈리는 개념이었는데, 동기, 비동기는 무엇과 동기되고 비동기된다는 뜻일까? 스레드*의 흐름이 공통자원의 데이터와 동기, 비동기 된다고 생각하면 될 것 같다. 동기라는 단어는 운영체제 강의에서 자주 들어본 단어이다. 운영체제에서 동기화에 대해서는 이렇게 설명한다. 공통 자원에 여러명이 동시에 접근할 때, 임계구역 문제가 발생한다. 이것을 해결하기 위해 프로세스/스레드를 동기화하는데 이 때 동기화 도구로 세마포어가 있다. 세마포어는 공통된 자원에 접근하는 여러 프로세스들을 관리하는 것인데, 예를들어 내 은행계좌(인데 천만원이 있는) 에서 A가 천만원을 빼간 후, B가 동시에 천만원을 또 출금하겠다고하면 은..