인프런 커뮤니티 질문&답변

heono님의 프로필 이미지
heono

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

메모리 배리어

하드웨어 최적화 질문

작성

·

216

0

1) 첫번째 예제에서 r1,r2를 CPU가 최적화 하는 방식이 궁금해서 각 쓰레드별로 얼만큼 CPU가 순서를 바꿨는지를  세어 봤습니다. 세어 보니까 쓰레드 별 횟수 차이가 되게 많이 났습니다. 이게 CPU가 실행중에 옆에 쓰레드를 보고 
"아 첫 쓰레드에서 x값을 쓰네 나는 조심해야겠다"하고 생각해서 두번째 쓰레드는 코드의 순서를 더 바꾼건가요??

2) Thread.MemoryBarrier에서 Thread 클래스에 각 thread들을 관리할 수 있는 기능이 있는거 같은데, c# 쓰레드 클래스 안에 각 instance들을 자료구조로 관리하고 있는건가요??

 

 

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

1)
무엇을 어떻게 테스트하셨는지 모르니 저도 뭐라 할 수 없습니다.
다만 그렇게 심오하게 옆 쓰레드를 참고한 것은 아닐 것 같네요.

2)
질문이 조금 모호한데, 결론적으로 쓰레드는 운영체제가 관리하는 것입니다.
Thread 클래스 안에 쓰레드를 제어하거나 설정할 수 있는 몇가지 기능이 있지만
그 또한 결국 운영체제한테 부탁을 해서 이루어지는 것이죠.

heono님의 프로필 이미지
heono

작성한 질문수

질문하기