29.3. 프로그램언어 고(Go)의 I/O 처리 최적화 방법

프로그램언어 고(Go)에서의 비동기 I/O 처리 방식 Go언어에서는 고루틴(goroutine)과 채널(channel)을 사용하여 비동기 I/O를 처리합니다. 고루틴은 Go언어의 가볍고 효율적인 스레드입니다. 부하가 많은 작업을 고루틴으로 만들면 마치 병렬처리되는 것처럼 동작합니다. func longComputation() { // 시간이 오래 걸리는 연산 } func main() { go longComputation() // 고루틴에서 실행 fmt.Println(“다음 작업”) } 위 예제에서 longComputation 함수를 고루틴으로 실행했기 때문에 메인 … Read more

29.2. 프로그램언어 고(Go)의 CPU 이용 최적화 방법

프로그램언어 고(Go)에서의 고루틴 사용으로 멀티스레딩 최적화 하기 Go 언어에서 고루틴(goroutine)을 사용하면 멀티스레딩을 최적화할 수 있습니다. 고루틴은 Go 언어의 가볍고 효율적인 스레드입니다. package main import ( “fmt” “time” ) func process(no int) { for i := 0; i < 10; i++ { fmt.Println(no, ":", i) time.Sleep(time.Millisecond * 500) } } func main() { // 고루틴 실행 ... Read more

29.1. 프로그램언어 고(Go)의 메모리 관리 방법

프로그램언어 고(Go)의 가비지 컬렉션 작동 방식 프로그램언어 고(Go)의 가비지 컬렉션은 메모리 관리 기법 중 하나로, 사용하지 않는 메모리를 자동으로 해제하고 회수하는 기능을 말합니다. package main import “fmt” func main() { // 1. 변수 선언 var a int a = 10 // 2. 변수 사용 fmt.Println(a) // 3. 변수 범위를 벗어나 값을 사용하지 않음 // => … Read more