소켓프로그래밍 동기 비동기 블로킹 논블로킹 개념에 대해서요
등대
2023.04.01
조사를 해봤는데제가 이해한바로는
동기식=blocking
비동기식=논 블로킹이라는 결론을 내렸는데
그런데 뭔가 찜찜해서요.
그림처럼
동기식 안에 블로킹이 속해 있는거 같기도 하구요.
일단 동기식은 일처리하다가 다른 일이 들어왔으면 하던 일 처리하고 다음 일을 한다고 생각하였는데
비동기식은 다른일이 들어오면 하던일 멈추고 다른 일을 하는건지(인터럽트방식같은?)
아니면 하던 일 다른일 같이 하는건지 애매하네요
동기 비동기식 블로킹 논블로킹
실생활 예를 들어서 쉽게 설명해주실 수 없나요?
제가 예로 한번 들어본건
실생활예를들면내가서버이고상대방이클라이언트라가정할때상대방이나에게밥다먹고전화하라고했을때상대방이내가전화를할때까지아무것도안하고기다리고있으면동기식이고다른일을하면서내전화를기다리면비동기식이다.
블로킹 넌블로킹은 어떻게 예를 들어야할지모르겠녜요
참 그리고 윈도우소켓 프로그래밍 말고 리눅스에서 소켓프로그래밍 할때는 버클리소켓으로 하는건가요?
윈도우를 제외한 나머지 소켓프로그래밍은 버클리 소켓으로 한다고 보면되나요
-
도래솔
배송올 우편물이 있다고 가정해보면요.
우체국에 가서 우편물을 수령하는 것이 동기식
택배로 우편물을 받는 것을 비동기식이라고 할 수 있습니다.
우체국에 가는 동안 다른일을 못하지만 택배로 배달 시켰으면 다른일을 할 수 있죠.
polling programming, event-driven programming도 비슷한 원리입니다.