반응형 Memory2 [Go] 고루틴(GoRoutine) 심화(5) - 누수 관리 메모리 누수 비록 고루틴이 다른 쓰레드에 비해 가볍긴 하지만 메모리를 사용하는 것은 당연할 것이다. 그렇기에 사용하진 않지만 살아있는 고루틴은 프로세스의 메모리를 쓸데없이 낭비하게 될 것이다. 이런 현상을 메모리 누수라 한다. 메모리 누수를 관리하는 방법을 살펴보자. 누수 관리 누수가 일어나는 예시 package main import ( "fmt" ) func main() { doWork := func(strings 2022. 5. 24. [Go] GC(Garbage Collector) GC(Garbage Collector) Memory Garbage를 제거하는 역할 사용하지 않는 Memory를 차지하는 것들을 삭제 작동방식 쓸모없어지면 쓰레기로 판단 reference count == 0일 때. func add(){ var a int a = 20 }// 이 밖으로 나간다면 a변수의 reference count는 0이 됨 -> 쓸모가 없어짐 주솟값들이 서로를 가리켜 순환 형태를 이루는 외딴섬 형태를 이룰 때. a = b; b = c; c = a; 단점 느림. 버그 안만들면 됨.(C&&C++ 변태들 발언). GC가 잡지 못하는 leak이 있긴 함(개발자의 실수). 사용하지 않는 배열의 memory. 장점 귀찮은 일은 GC에게 맡겨 개발자의 생산성 향상. GC가 활동을 짧게 짧게 하여 개발자.. 2021. 7. 18. 이전 1 다음 반응형