반응형 RAII2 C++] mutex정의와 종류에 대하여(RAII mutex) 1. mutex란?? C++ 11 버전에 나온 class로 Thread들의 동기화를 해줄 수 있게 해주는 기능을 가지고 있습니다. Thread들의 동기화란 무엇일까?? 예를들어보자. 우리는 게임을 하기위해 캐릭터를 생성해야 합니다. 해당 캐릭터를 만들려면 캐릭터의 이름이 필요한데, 캐릭터 ID의 중복검사를 한 후 없으면 캐릭터 생성을 할 수 있습니다. 이런식으로 함수에 접근할 것입니다. 하지만 동시에 접근하는 유저수가 100명 이상이라면??? 그 100명이 똑같은 ID로 캐릭터를 생성하려고 한다면?? 어떻게 될까요??? 중복된다고 return받는 Thread들이 있을 수 있고 중복검사를 동시에 해서 똑같은 ID로 만들어지는 Thread들도 있을 것입니다. 왜?? context switching때문입니다... 2020. 6. 13. C++] RAII란? 1. RAII란?RAII는 Resource acquisition is initialization의 약자로 직여해보면 "자원 흭득을 초기화한다."라고 해석이 됩니다. 즉, "흭득된 자원을 초기화 한다."라고 생각하시면 됩니다. 그럼 RAII는 뭐냐? 키워드냐? 클래스냐? 함수냐?? RAII는 C++설계 패턴중 하나인 키워드입니다. 이러이러한 식의 설계를 RAII라고 부르자고 된것입니다. 그럼 여기서 말하는 이러이러한 식의 설계는 무엇일까? 동적인 프로그래밍을 위해 new라는 키워드를 사용해 힙 메모리에서 메모리를 할당받습니다. 할당 받는순간 해당 메모리의 resource를 프로그래머는 직접 관리하게 됩니다. 해당 메모리 공간을 잘 활용한다면 정말 좋겠지만, 요놈의 실수, 예기치 못한 exception등.... 2020. 6. 13. 이전 1 다음 728x90 반응형