파이썬에서 참조 카운팅(reference counting)은 중요한 메모리 관리 기법 중 하나다. CPython에서 Garbage Collection의 기반은 reference counts 방식이며, 특정 객체의 reference count가 0이 되면 객체의 메모리
가비지 컬렉션(garbage collection)은 자동으로 메모리 관리를 수행하는 과정이다. 사용되지 않는 메모리 영역을 식별하고, 해제하여 메모리를 재사용 가능하게 만드는 것이 목적이다.파이썬의 메모리 관리는 다음과 같은 흐름으로 진행된다.레퍼런스 카운팅 (Refe
CPython에서 GIL은 파이썬 객체에 대한 접근을 보호하는 뮤텍스로, 여러 스레드가 동시에 파이썬의 바이트코드를 실행하는 것을 방지한다. GIL의 영역에서는 경쟁 상태(race condition)를 예방하고, 스레드 안정성(thread-safe)을 보장한다.위의 이
파이썬에서 GIL은 멀티스레딩 환경에서 단일 스레드만 파이썬 바이트코드를 실행하도록 제한한다. 덕분에 참조 카운팅과 같은 메모리 관리 메커니즘을 안전하게 수행할 수 있다. 그렇다면 파이썬은 lock이 필요할까? GIL은 중요한 역할을 하지만, 그렇다고 모든 동시성 문제