고루틴
Goroutine 정말 수백만개를 만들어도 문제 없을까?
Goroutine 정말 수백만개를 만들어도 문제 없을까?
2021.10.29Go 의 문서를 읽어보면 Goroutine 의 개수에 대해서 걱정하는 것은 섣부른 최적화 라고 나와 있을정도로 Goroutine은 가볍다고 나와 있다. 하지만 정말 수백 수천 만개의 고루틴 을 돌려도 메모리가 버틸수 있을 지 궁금했다. 이 예제는 Goroutine 이 가비지 컬렌셕되지 않는다는 사실과 런타임이 스스로 검사할수 있는 기능을 조합하여 고루틴 생성 전후에 할당된 메모리 양을 측정한다. package main import ( "fmt" "runtime" "sync" ) func main() { memConsumed := func() uint64 { runtime.GC() var s runtime.MemStats runtime.ReadMemStats(&s) return s.Sys } var c
Fibonacci 로 알아보는 동시성 과 클로저
Fibonacci 로 알아보는 동시성 과 클로저
2021.10.26프로그래밍의 입문 딱지를 떼고나서 마주쳤던 몇가지 문제들중 멀티쓰레드와 클로저에 대해서 피보나치로 파헤쳐 보려고합니다. 동시성을 이용한 구현 func fibonacci(max int)