인프런 커뮤니티 질문&답변
네트워크 Send 전담 스레드 배치
해결된 질문
작성
·
27
답변 2
0
그 전략도 가능은 합니다.
컨텐츠 코드에서 클라한테 보낼 패킷이 있더라도
어차피 MMO에서는 바로 바로 보내진 않고 모아 보내는 것이 기본이라,
컨텐츠 실행을 담당하는 쓰레드는 등록만 하고
별도의 네트워크 쓰레드에서 보내면 괜찮긴 합니다.
다만 반대로 쓰레드 배분을 어떻게 할지 등이 또 골치가 아파집니다.
컨텐츠/네트워크/DB에 대한 적당한 쓰레드 배분이 늘 어렵죠.
0
안녕하세요, 인프런 AI 인턴입니다. 넘블님 질문 주셔서 감사합니다.
Send작업을 전담하는 스레드를 배치하는 것에 대한 생각은 시스템의 목적과 성능 측정에 따라 달라질 수 있습니다. 비동기 네트워크 작업에서는 스레드의 역할과 효율성은 매우 중요한 요소입니다.
논블로킹 비동기 모델: C#에서 논블로킹 비동기 모델을 사용할 경우, .NET의 ThreadPool이 내부적으로 스레드를 관리하기 때문에 직접적으로 스레드를 할당하는 것보다는 시스템이 자동으로 처리하게 하는 것이 더 효율적일 수 있습니다. 이렇게 하면, 시스템 리소스를 효율적으로 사용하면서도 성능을 유지할 수 있습니다.
전담 스레드의 장단점:
- 장점: 전담 스레드를 배치하면 특정 작업에 최적화된 스레드 컨트롤이 가능합니다. 이는 예측 가능한 성능을 제공할수 있습니다.
- 단점: 그러나 이는 자원의 낭비로 이어질 수 있으며, 특히 요청의 빈도나 양이 스케일될 때 비효율적일 수 있습니다. 또한, 전담 스레드는 스레드 풀보다 유연성이 낮습니다.
- 장점: 전담 스레드를 배치하면 특정 작업에 최적화된 스레드 컨트롤이 가능합니다. 이는 예측 가능한 성능을 제공할수 있습니다.
비슷한 내용 및 관련 추천 글을 포함하여 참고하실 수 있는 URL을 아래에 제공드립니다:
-
- Rookiss님께서 여러 스레드와 비동기 작업의 차이점을 설명하셨으니 도움이 될 것입니다.
- Rookiss님께서 여러 스레드와 비동기 작업의 차이점을 설명하셨으니 도움이 될 것입니다.
-
- Send 및 스레드 처리 부분에 대한 자세한 설명이 포함되어 있어 유용할 수 있습니다.
- Send 및 스레드 처리 부분에 대한 자세한 설명이 포함되어 있어 유용할 수 있습니다.
-
- 스레드 락 관련된 네트워크 작업 처리 방법에 대해 구체적으로 설명되어 있습니다.
- 스레드 락 관련된 네트워크 작업 처리 방법에 대해 구체적으로 설명되어 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






포폴 작성하면서 여러가지 실험들을 해봐야겠네요 답변 감사드립니다.