강의

멘토링

커뮤니티

Inflearn Community Q&A

dlalwjd33236559's profile image
dlalwjd33236559

asked

[C# and Unity MMORPG Game Development Series] Part 4: Game Server

Thread creation

Mac OS 쓰레드풀 사용 문제 질문드립니다. (11:12)

Written on

·

408

·

Edited

0

위쪽에도 같은 맥북 질문이 있는것으로 확인 하였는데 해결방법을 모르겠어서 질문드립니다.

 

쓰레드가 Console.WriteLine까지는 진입을 하지만 출력이 되지는 않는 문제가 발생합니다.

또한 중간에 쓰레드가 전부 사라져버리고 디버깅이 더이상 진행되지 않는 문제가 발생합니다.

C#unity네트워크

Answer 3

0

Rookiss님의 프로필 이미지
Rookiss
Instructor

MAC OS의 정책인지 컴파일러의 영향인지는 잘 모르겠지만
예상하신 부류의 문제가 맞는 것 같네요!

dlalwjd3323님의 프로필 이미지
dlalwjd3323
Questioner

감사합니다!

0

dlalwjd3323님의 프로필 이미지
dlalwjd3323
Questioner

임의 해결 완료 하였습니다.
루키스님의 생각이 궁금합니다.

코드를 위와같이 ReadLine을 통해 메인쓰레드가 기다리게 변경하니, 출력을 정상적으로 하며 동작이 완료되었습니다.

제 생각에는 Mac OS에서 VisualStudio의 컴파일러가 while(true)문을 자동으로 쓸모없다고 판단하고 종료시키는게 아닐까 생각이 드는데 어떻게 생각하시는지 궁금합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

dlalwjd3323님, Mac OS에서 Visual Studio를 사용하며 쓰레드풀 사용과 관련된 문제를 겪고 계신 것으로 보입니다. 맥 환경에서 Visual Studio를 활용하여 C# 프로젝트를 진행할 때, 쓰레드풀이 예상대로 작동하지 않거나 디버깅 중 쓰레드가 사라지는 등의 문제는 상당히 특수한 경우에 속합니다. 이는 대개 Mac과 Windows 환경 간의 차이, 그리고 .NET Core 및 Visual Studio의 Mac 버전과 Windows 버전 간의 구현 차이에서 비롯될 수 있습니다.

이러한 문제에 관하여 질문자님과 유사한 상황을 겪은 다른 수강생의 질문이 있었으며, 해당 질문에 대한 답변을 통해 조금이나마 도움을 드릴 수 있을 것 같습니다. 다만, Mac OS 특유의 환경적 차이로 인해 발생하는 문제이기 때문에, 아래의 답변들도 문제를 해결하는 데에 있어 한정적일 수 있다는 점을 미리 알려드립니다.

따라서, 문제가 계속 발생한다면 Mac에서 .NET Core의 최신 버전으로 업데이트하는 것을 고려하거나, 필요한 경우 Visual Studio for Mac의 업데이트를 확인해보시기 바랍니다. 또한, ThreadPool 대신 async/await이나 TPL(Task Parallel Library)와 같은 비동기 프로그래밍 모델을 사용해 보는 것도 대안이 될 수 있습니다.

아쉽게도 정확한 문제 해결 방안을 제시하지 못하는 점 양해 부탁드리며, 이러한 상황은 특정 환경에서의 특수한 문제로 인식되어 구체적인 해결책을 찾기 어려울 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

dlalwjd33236559's profile image
dlalwjd33236559

asked

Ask a question