이거 어떤 코드를 짜든 흔하게 겪을수 있는 문제라 기술면접 약간만 어렵게 들어갈때 물어볼수밖에 없는 질문임.
인터넷에는 아무것도 모르는 노베이스인 사람에게 한방에 쉽게 이해시켜주는 블로그도 찾기 힘들어서.
알면 ㅈ도 아닌데 의외로 이해하기 어려움
익명(112.187)2024-03-25 02:53
블로킹 논블로킹은 결과를 받기 전까지 다른 작업을 하느냐 안하느냐의 차이.
동기 비동기는 결과를 확인하는 주체가 일을 맡긴 사람인지, 일을 하는사람인지의 차이.
그래서 동기는 return이 있고, 비동기는 callback이 있음.
동기 논블로킹이면 일 맡긴 애가 결과 확인을 일을 하면서 계속 polling방식으로 확인하는거고
비동기 논블로킹이면 일 맡은 애가 일 다하면 결과 알려주는거지. 물론 일 맡긴 애는 일만 맡기고 자기일 쭉 진행.
추가로 설명하면 비동기 블로킹은 async await 패턴 생각하면 정확함.
정확히는 코틀린 코루틴의 withcontext 겠다.
원래는 callback이 있는 비동기 논블로킹인데 강제로 블로킹으로 만들어서 await 나올때까지 일 맡긴애가 결과 기다리잖어.
구글은 장식임?
블로킹은 안되지만 계속 상태 변화 체크 하고 특정한 상태가 되었을때 플로우가 진행되는거지
https://black7375.tistory.com/90
이건 그냥 구글에 개발자 면졉리스트하면 나오는 질문아님??
이거 어떤 코드를 짜든 흔하게 겪을수 있는 문제라 기술면접 약간만 어렵게 들어갈때 물어볼수밖에 없는 질문임. 인터넷에는 아무것도 모르는 노베이스인 사람에게 한방에 쉽게 이해시켜주는 블로그도 찾기 힘들어서. 알면 ㅈ도 아닌데 의외로 이해하기 어려움
블로킹 논블로킹은 결과를 받기 전까지 다른 작업을 하느냐 안하느냐의 차이. 동기 비동기는 결과를 확인하는 주체가 일을 맡긴 사람인지, 일을 하는사람인지의 차이. 그래서 동기는 return이 있고, 비동기는 callback이 있음. 동기 논블로킹이면 일 맡긴 애가 결과 확인을 일을 하면서 계속 polling방식으로 확인하는거고 비동기 논블로킹이면 일 맡은 애가 일 다하면 결과 알려주는거지. 물론 일 맡긴 애는 일만 맡기고 자기일 쭉 진행. 추가로 설명하면 비동기 블로킹은 async await 패턴 생각하면 정확함. 정확히는 코틀린 코루틴의 withcontext 겠다. 원래는 callback이 있는 비동기 논블로킹인데 강제로 블로킹으로 만들어서 await 나올때까지 일 맡긴애가 결과 기다리잖어.
async await는 비동기 논브로킹임
그걸 모르면 자바서버랑 노드서버 구분 어캐함? - dc App