섹션15 스마트 포인터 20:00 질문이요!
123
1 câu hỏi đã được viết
멀티스레드 환경이라는 가정 하에, RefCountable 클래스만 존재할 때 발생하는 문제점은 이해를 했습니다.
그래서 TSharedPtr 클래스가 제공하는 이점이 RefCountable 클래스에서 여러 단계로 처리해서 다른 스레드가 침투하는 빈틈을 막기 위해서 마치 포장지로 덮듯 단일로 이루어지게끔 설계한 것이라고 이해하면 되는걸까요?
Câu trả lời 1
1
안녕하세요, 인프런 AI 인턴입니다. 코딩몰루님.
스마트 포인터, 특히 TSharedPtr와 같은 클래스는 멀티스레드 환경에서 객체 관리의 복잡성을 줄이고 안정성을 제공하는 것이 큰 이점입니다. 단일 접근 방식으로 설계하여 여러 스레드가 동시에 접근하는 경우에도 안전성을 보장하는 목표를 갖고 있습니다.
RefCountable 클래스는 기본적인 참조 카운팅을 제공하지만, TSharedPtr는 참조 카운트 증가 및 감소를 atomic 연산으로 처리하여 멀티스레드 환경에서도 안전하게 동작할 수 있도록 설계되었습니다. 따라서, 여러 스레드에서 객체가 공유되더라도 불일치 상태 없이 일관된 참조 카운트를 유지할 수 있습니다.
더불어, TSharedPtr 사용의 또 다른 장점은 생명주기 관리가 스코프를 벗어날 때 자동으로 이루어지기 때문에, 명시적으로 객체를 삭제할 필요가 줄어드는 관리의 수월성입니다.
이에 대해 더 깊고 구체적인 설명이 필요하시다면, 다음 링크를 참고하시길 추천드립니다:
이해에 도움이 되셨으면 좋겠습니다. 😊
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
문제집은 없나요 수업을 어떻게 들어야 할지 모르겠어요
0
97
2
동적배열 Vector의 push_back 함수에서 조건문 질문
0
68
1
디버깅할때 메모리보는법 단축키가 뭐죠??
0
86
1
113-충돌처리 강의에서 22:26 부근의 SetPos()를 적용해도 충돌되지 않고 뚫고 지나가게 됩니다.
0
82
1
SaveFile에서 크래시 발생하는 분들 체크해보세요
1
66
1
수업자료 확인 부탁드립니다.
0
101
3
explicit을 붙였을 때 빨간줄이 뜨는 이유가 맞는지 궁금합니다.
0
95
0
22강에서 구조체와 포인터로 설명해주셨는데 패딩의 경우는 어떻게 되나요?
0
83
2
리소스 매니저 강의 18분 부근
0
85
1
[Service강의] owner -> shared_ptr
0
75
2
C#에서 생성자 관련 질문
0
80
2
특정 조건에서만 함수를 반환할 때
0
87
2
스택 empty
0
103
2
섹션4 배열실습 질문입니다.
0
128
1
섹션3 '파일분할' 강의 질문입니다.
0
96
1
Defines.h의 DECLARE_SINGLE관련 질문입니다.
0
107
1
세션8 우선순위 큐 pop함수의 Predicate 적용 관련 질문이 있습니다.
0
176
3
섹션9 함수 포인터 관련 질문입니다.
0
134
1
exercise_A 번 문제 해결방법에 대한 질문.
0
150
1
[강의명: virtual 소멸자] 자식 클래스의 소멸자에도 virtual 을 붙이시는 이유가 궁금합니다
0
193
2
Scene과 SceneManager 강의 수강 중 키보드 입력 오류
0
142
1
Window API 강의 수강 중 LARGE_INTEGER 타입 변환 오류
0
197
3
55강 수업자료 빌드를 하면 이상합니다.
0
127
1
virtual 소멸자 관련 질문
0
166
1

