Sync Block Index

질문을 오늘 3개나 올리네요…
하지만 절대 구글링을 안해본 것은 아닙니다…

닷넷에서 new 키워드로 하여금 인스턴스 할당 시

동기화 블록 인덱스 + 타입 객체 포인터 + 인스턴스 주소

이렇게 3개가 할당되는 거로 책에서 보고 이해했습니다.

인스턴스 주소야 실제 인스턴스가 할당된 메모리의 주소일 거고, 타입 객체 포인터는 찾아보니 타입에 대한 정보 같습니다.

그런데 동기화 블록 인덱스는 대체 뭔가요?
찾아보니 전부 Thread를 lock 으로 동기화 할 때 동기화 블록으로 한다라고 하는데…
사실 lock을 보여주는 모든 예제들이 object 객체를 할당에서 사용하지만 어떤 원리인지 설명해주는 글은 못 본 것 같습니다. 그래서 그러려니 하고 넘어갔는데 이 동기화 블록 인덱스를 검색하니 lock 키워드와 함께 동기화 블록에 대해서 나오고, 닷넷에는 동기화 블록 테이블이 있고 그 테이블의 인덱스가 '동기화 블록 인덱스(SBI) 라고 하는데 정확하게 어떤 역할을 하는지 잘 이해가 가지 않습니다.

닷넷에서 동기화 블록 인덱스는 어떤 역할을 하고 있나요?

아래 글을 참고하면 좋을 것 같습니다.

Yonatan Fedaeli: Sync Block Index (SBI) \ Object Header Word (yonifedaeli.blogspot.com)

아래의 글에 있는 예제 코드를 보시면 이해가 좀 되시지 않을까 싶군요.

C#에서 확인해 보는 관리 힙의 인스턴스 구조
; .NET Framework: 271. C#에서 확인해 보는 관리 힙의 인스턴스 구조

아…글을 이해하면서 봐야할 거 같습니다!! 모르겠으면 다시 질문 드리겠습니다. 정말 감사드립니다!!

아 이 아티클 잘 나와있네요…왜 난 못찾았지…새로운 것도 많이 알게 되었습니다. 좋은 아티클 링크 감사드립니다!!