winapi에서 나오는 비동기 입출력 있잖아요. 오버랩트 구조체 이용해서 하는거... 그건 원리가 무엇인가요?? 스레드를 이용한 것은 아니라고 하는데 어떻게 다른 작업을 하면서 동시에 입출력이 이루어지는지???
뭔가 약간 잘못 이해하는거 같은데 Overlapped 는 말 그대로 중첩의 의미인데 비동기라는 게 중요함.
전송 함수나 수신 함수들이 호출 후 데이터가 완전히 전송될때까지 기다리지 않는다는게 핵심임.
그래서 전송하는거야 뭐 그냥 명령만 내려놓으면 그 외에 하드웨어 레벨에서 처리하는건 커널 단에서 하니까 신경쓸 필요 없고.
수신하는건 바로 리턴해버리면 이게 제대로 된건지 모르니까 이벤트나 콜백 함수 등을 사용해서 알리는거고.
아 커널 단에서 하는거군요.
근데 그것까진 나도 확실한 내부 메카니즘은 모름. 장담을 못하겠다