@착해진웃스음(112.168)
아마 비동기==논블로킹 / 동기==블로킹 이렇게 설명하는 거 있었던 같음
백갤러 4(221.139)2025-05-09 23:59
답글
@백갤러4(221.139)
ㅇㅎ 나는 못본듯
착해진웃스음(112.168)2025-05-10 00:00
흐름제어 관점으로 생각하면 이해쏙쏙되던뎅 - dc App
30세전에특급DBA(118.235)2025-05-10 00:03
대기형 앞에서 비동기/동기, 블락킹/논블락킹 용어 잘못 쓰면 혼 ㅈㄴ 난다
착해진웃스음(112.168)2025-05-10 00:05
답글
저번에 DB I/O를 비동기 I/O라고 말했다가 혼 ㅈㄴ났다
착해진웃스음(112.168)2025-05-10 00:05
답글
@착해진웃스음(112.168)
블로킹 논블로킹은 쏙쏙 나오는데 동기 비동기는 말 못하겠음 무서워서
백갤러 4(221.139)2025-05-10 00:10
동기 -> 호출했을 때 그 호출 시점에 결과를 받는 것 -> 호출 시점과 결과 받는 시점이 싱크되어 있다고 생각하면 될 듯 그래서 동기
비동기 -> 호출했을 때 그 호출 시점에 결과를 받지 않고 나중에 콜백으로 받음 -> 호출 시점과 결과 받는 시점이 싱크되어 있지 않음 그래서 비동기
블로킹 -> 호출하고 스레드가 블로킹되어서 점유됨 다음 작업을 수행할 수 없음.
논블로킹 -> 호출하고 스레드가 점유되지 않고, 바로 다음 작업을 수행할 수 있음. 말 그대로 스레드가 블로킹되지 않음
그래서 논블로킹 - 동기인 경우는
스레드가 블로킹되지 않지만, 호출 시점에 결과를 받기 때문에 while문을 돌려서 조건이 충족되었는지 계속 체크함(폴링)
쉬운코드의 강이를 보고오면 이해가댐니다 - dc App
어디서봄 - dc App
유튜브 쉬운코드 << - dc App
짧게설명하기는 힘들고, 네이버클라우드에서 연재했던 글이있는데 그거 참고하면 도움될듯?
이거
https://m.blog.naver.com/n_cloudplatform/222189669084
a가 b를 호출했을때 b의 결과를 사용하는가? -> yes면 동기, no면 비동기 a가 b를 호출하고 b의 종료를 기다리는가? -> yes면 block, no면 non block
https://youtu.be/XNGfl3sfErc?si=AWYUm29zZ_WTa_sr
오오 이거구나 명확한 기준을 모르겠었는데
결과를 누가 사용하는가 관점이 동기/비동기 결과가 나올때까지 기다리는가 관점이 블로킹/논블로킹
대부분 이렇게 설명하는데
https://gall.dcinside.com/mgallery/board/view/?id=backend&no=21197
@착해진웃스음(112.168) 이건 뭘 말하는거지 우리나라 블로그도 대부분 저 관점에서 설명하던데
이거 ostep Event-based-Concurrency에서 알게됨
@ㅇㅇ(118.46) 나도 너가 쓴거처럼 공부했는데 우리나라 블로그들도 대부분 저렇게 설명하지 않나?
그렇지 않나? 근데 가끔 둘다 설명 안하고 하나만 말할때 반대로 말하기도 하던데
@착해진웃스음(112.168) 아마 비동기==논블로킹 / 동기==블로킹 이렇게 설명하는 거 있었던 같음
@백갤러4(221.139) ㅇㅎ 나는 못본듯
흐름제어 관점으로 생각하면 이해쏙쏙되던뎅 - dc App
대기형 앞에서 비동기/동기, 블락킹/논블락킹 용어 잘못 쓰면 혼 ㅈㄴ 난다
저번에 DB I/O를 비동기 I/O라고 말했다가 혼 ㅈㄴ났다
@착해진웃스음(112.168) 블로킹 논블로킹은 쏙쏙 나오는데 동기 비동기는 말 못하겠음 무서워서
동기 -> 호출했을 때 그 호출 시점에 결과를 받는 것 -> 호출 시점과 결과 받는 시점이 싱크되어 있다고 생각하면 될 듯 그래서 동기 비동기 -> 호출했을 때 그 호출 시점에 결과를 받지 않고 나중에 콜백으로 받음 -> 호출 시점과 결과 받는 시점이 싱크되어 있지 않음 그래서 비동기 블로킹 -> 호출하고 스레드가 블로킹되어서 점유됨 다음 작업을 수행할 수 없음. 논블로킹 -> 호출하고 스레드가 점유되지 않고, 바로 다음 작업을 수행할 수 있음. 말 그대로 스레드가 블로킹되지 않음 그래서 논블로킹 - 동기인 경우는 스레드가 블로킹되지 않지만, 호출 시점에 결과를 받기 때문에 while문을 돌려서 조건이 충족되었는지 계속 체크함(폴링)
난 이렇게 이해함 틀린거 있으면 지적좀
https://black7375.tistory.com/90