8분 Bit Flag질문
365
작성한 질문수 134
0. Thread.CurrentThread.ManagedThreadId 가 1씩 늘어나는 그런 숫자라고 해주셨는데
이게 무슨말인지 모르겠습니다.
1. 쉬프트 연산자를 사용을 할때,
Thread.CurrentThread.ManagedThreadId << 3 을 하게되면
이런 의미인것인가요 아니면
3번째 칸만 켜주는
이런 의미가 되는 것인가요?
2.
만약 Thread.CurrentThread.ManagedThreadId << 3 라는 의미가 첫번째 질문의 원리와 같다면
이런상태라 가정하였을때
다시 Thread.CurrentThread.ManagedThreadId << 3를 하게되면
이런식으로 바뀌는 것인가요??
3. 현재
if (_flag == EMPTY_FLAG)일 경우 WriteThreadID은 15비트를 켜진상태 ( 1인 상태를) 가져오고 싶은것이 맞다면
Thread.CurrentThread.ManagedThreadId << 16
이렇게 밀어버리게 되면
이렇게 되는것이 맞나요?
3-1.
이렇게 되는 것이 맞다면
(Thread.CurrentThread.ManagedThreadId << 16
뒤에 & WRITE_MAKS; 이녀석은
Thread.CurrentThread.ManagedThreadId << 16 &&
Thread.CurrentThread.ManagedThreadId << WRITE_MASK 라는 뜻인가요??
3-2
Thread.CurrentThread.ManagedThreadId << 16 &&
Thread.CurrentThread.ManagedThreadId << WRITE_MASK 라는 뜻이 맞다면
Thread.CurrentThread.ManagedThreadId << 16 로
이렇게
한번 밀어주고
Thread.CurrentThread.ManagedThreadId << WRITE_MASK로
이렇게 밀어주게되면 Unused(1)이 나오게 되는것 아닌가요..??
4. 비트 마스크
ex) 1 << 5를 하면
1 << 10을 하게되면
이런 기초적인 것은 이해를 했는데
위에 질문드린 부분들이 이해가 안갑니다 ㅠ
제가 완전히 잘 이해를 이상하게 하고 있는거 같습니다..ㅠ
답변 2
0
안녕하세요,
전체적으로 질문을 너무 가볍게 하시면 안 됩니다.
<<, & 같은 bitflag는 기본기에 해당하며
기억이 안나시면 구글링을 해보거나,
실제로 간단한 콘솔 프로그램을 만들어서 테스트를 해보고
숫자가 어떻게 변화하는지 살펴보시기 바랍니다.
C#에서의 RAII
0
64
3
TLS 질문드립니다.
0
79
2
SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.
0
74
2
Unity Span
0
97
2
XML, Dll 차이점
0
134
2
Session 질문입니다
0
95
1
Write Read 커서 키워드
0
88
1
더미 클라이언트 수에 따른 OnDisconnect 발생
0
85
2
네트워크 Send 전담 스레드 배치
0
112
2
UnhandledException 으로 서버 터지는 경우
0
102
2
컨텐츠 단, 엔진 단
0
118
1
질문 있습니다
0
92
2
C# 게임서버 3D MMORPG
0
159
2
유니티6 버전
0
106
2
receive하는 부분과 send하는 부분의 차이
0
153
2
커서의 위치의 중요성
0
110
2
C++ 전혀 모르는데 C# 서버
0
176
2
강의에 질문이 있습니다
0
92
2
멀티스레드 이해도 질문
0
107
1
500 vs 500
0
147
3
OnAcceptHandler 액션 함수
0
70
1
이 정도 서버의 객관적인 수준이 궁금합니다.
0
204
2
36. Serialization #3 에서 string (name) 코드 수정 질문
0
85
2
외부 컴퓨터와의 통신 방법이 궁금합니다
0
112
1





