Skip to content

태그: Python

총 7개의 글이 있습니다.
Weak Reference
python
Weak reference(약한 참조)는 객체를 참조하되, reference count를 증가시키지 않는 참조 방식이다. weakref 모듈로 사용한다. CPython은 레퍼런스 카운팅으로 메모리를 관리한다. 일반 참조(strong reference)는 ref count를 올리므로, 참조가 남아있는 한 객체가 해제되지 않는다. 이게 문제가 되는 경우가 있다. 캐시: 캐시가 객체를 잡고 있으면 원본이 필요 없어져도 메모리에서 안 사라진다. 순환 참조: observer 패턴 등에서 상호 참조 시 메모리 누수가 발생할 수 있다. 대형 객체 매핑: 객체→메타데이터 매핑에서 키가 객체의 수명을 연장하는 것을 방지해야 한다. weak reference는 ref count에 영향을 주지 않으므로, 다른 곳에서 str