현재 Java 배경에서 오는 C#을 배우고 있습니다. 젖은 채로 나는 간단한 SMTP 메일 응용 프로그램을 만들기로 결정했습니다. C#은 동기 소켓과 비동기 소켓을 모두 지원한다는 사실을 매우 빨리 배웠습니다.동기식과 TCP 소켓 연결에서 비동기식의 이점
내가 볼 수 있듯이 동기 소켓과 비동기 소켓을 사용할 때 이점은 없다. 왜냐하면 후자는 차단되지 않으므로 매번 새 스레드를 만들 필요가 없기 때문이다. 하나 또는 다른 것을 사용하는 데 상당한 오버 헤드가없는 것처럼 보입니다.
그럼 내 질문에 동기식 소켓을 사용하는 것이 유리한가요? 아니면 대부분의 경우 비동기식을 사용하는 것이 더 낫습니까?
모두 상황에 따라 다르다. 99 %의 경우 비동기식을 사용하고 1 % 동기식으로 이메일을 보내고 그 코드 블록이 끝났는지 확인하고 싶다. 그 후에 프로그램을 계속 진행하십시오. 또한이 pourpose에 대한 자신의 스레드를 만들면 동기도 사용할 수 있습니다. – Vajura
나는 그것이 사실이라고 추정했다. 하지만 비동기로도 같은 일을 할 수 있다고 생각했습니다. 아니면 내가 틀렸어? –
@MuhammadHijazi 당신 말이 맞아요. 기능적으로, 비동기 또는 동기화 소켓을 사용하는 것 사이에는 ** 아무런 차이가 없습니다 **. – dcastro