들어가며
거의 1개월동안 묵혀놨던 동기 & 비동기 / 블락 & 논블락을 드디어 정리했다! 지금까지 가슴 한 켠에 짐으로 남겨뒀었는데 해결하고 나니까 후련하다. 다만 다른 사람한테 설명을 해주려니 스스로 이해를 제대로 하진 못했다는 생각이 들어서 여러번 다시 봐야겠다는 생각이 들었다.
아무튼, 오늘의 TIL은 동기 & 비동기를 정리한 글을 다시 이해하기 위해 간단히 정리해보고자 한다!
동기 - 순차적으로 작업을 수행
비동기 - 동시에 작업을 수행
블로킹 - 자신의 작업을 다 수행할 때까지 제어권을 가지고 있음
논블로킹 - 자신의 작업을 다 수행하지 않았더라도 바로 제어권을 돌려줌으로써 호출한 함수가 자신의 작업을 계속 수행할 수 있게함
동기, 블로킹
자신의 작업을 하다가 제어권을 넘겨주고 제어권을 넘겨받은 대상의 작업이 끝나면 다시 자신의 작업을 수행함
동기, 논블로킹
제어권을 넘겨주더라도 자신의 작업은 계속함. 하지만 제어권을 넘겨받은 작업이 끝날 때까지 계속 확인한다.
제어권을 바로 돌려받았기 때문에 자신의 작업은 계속할 수 있지만, 제어권을 넘겨받았던 작업이 끝나는 타이밍은 기다려야하기 때문이다.
비동기, 블로킹
자신의 작업을 하다가 제어권을 넘겨줬기 때문에 다시 제어권을 돌려받기 전까지는 자신의 작업을 하지 못하는데, 비동기 방식이라 내 작업은 지속해야겠고, 근데 제어권이 없고..!! 그냥 제어권을 돌려줄 때까지 마냥 기다림
비동기, 논블로킹
자신의 작업은 제어권을 돌려받았기 때문에 계속 할 수 있고(논블로킹), 제어권을 넘겨받은 작업은 제어권을 넘겨준 작업과 상관없이 자기 할 일을 계속 한다(비동기)
마치며
다시 봐도 어려운 동기 & 비동기 / 블로킹 & 논블로킹 조합이다. 다음 주에 또 다시 와서 말로 설명해봐야겠다.
오늘의 TIL이 되게 짧아서 아무것도 안한 기분느낌인데 사실 동기 비동기 이해하느라 시간을 되게 많이 썼다. 이렇게 정리했으니까 다음에는 안까먹겠지~! 그러니까 오늘도 알찬 하루라고 억지 부려본다.
오늘의 한마디 by 경태님 - 내일 일은 내일 걱정하자!
'Study > TIL' 카테고리의 다른 글
[TIL] 06/01 항해99 24일차 - JPA를 사용하는 이유?, JPA 초기 세팅 (0) | 2022.06.01 |
---|---|
[TIL] 05/31 항해99 23일차 - CS 공부 가이드 (0) | 2022.06.01 |
[TIL] 05/28 항해99 20일차 - 이진탐색 (0) | 2022.05.28 |
[TIL] 05/27 항해99 19일차 - 퀵/병합 정렬 (0) | 2022.05.27 |
[TIL] 05/26 항해99 18일차 - 버블/선택/삽입 정렬, 문제풀이 (0) | 2022.05.27 |