기록은 기억을 이기고 시간보다 오래 남는다.
반응형

게임 서버 2

TLS(Thread Local Storage) with c++

Tread Local Storage한 줄 요약- TLS는 스레드 내부에 스레드 본인만 접근할 수 있는 별도의 저장 공간안녕하세요 준준입니다. 오늘은 TLS에 대해 알아보도록 합시다.TLS(Tread Local Storage) 우선 TLS란 Tread Local Storage의 약자로각 쓰레드가 가지고 있는 자신만의 고유한 공간입니다. 왜 TLS가 만들어지고 필요할까요?Data 영역의 전역 변수, Heap 영역의 객체는 모든 스레드가 공유합니다.그리고,Stack 영역의 지역 변수는 해당 블록 내에서만 사용되기 때문에 기본적으로 각각의 스레드마다 고유하게 가지는 메모리 영역이 없습니다.  또한,스택에 잡히는 지역 변수는 스레드마다 별도의 스택을 사용하므로 당연히 다른 값을 가지지만전역 변수의 경우에는 모든 ..

게임 서버 2024.05.29

Reader-Writer Lock

안녕하세요, 준준입니다. 이번 게시물에서는 **RwLock(Read-Write Lock)**에 대해 알아보겠습니다. RwLock은 읽기와 쓰기의 동시 접근을 관리하기 위한 동기화 메커니즘입니다.여러 스레드가 데이터를 읽을 때는 동시에 접근할 수 있지만,데이터를 쓸 때는 오직 하나의 스레드만이 접근할 수 있도록 하는 기능을 제공합니다.아래의 그림을 보면 이해가 쉬우실까요? 왜 필요한가요? 일반적으로 데이터는 읽기가 빈번하게 일어나고쓰기는 그다지 자주 발생하지 않는 경우가 많습니다. 매번 Lock을 걸어둔다면 쓰기 작업이 거의 없는 상황에서도불필요한 경합(Contension)이 발생할 수 있습니다. RwLock은 이러한 상황에서 효율적으로 동작하여 성능을 향상할 수 있습니다.  RwLock의 주요 특징은 다..

게임 서버 2024.05.29
반응형