우리는 종종 Go 코드를 나중에 특정 시점에서 실행하거나 일정 간격으로 반복 실행시키고 싶을 때가 있습니다. Go의 내장 기능인 timer와 ticker는 이를 쉽게 만들어줍니다. 먼저 타이머(timers)를 본 뒤, 그 다음 티커(tickers)에 대해 살펴봅시다. |
package main
|
import "time"
import "fmt"
|
|
func main() {
|
|
타이머는 미래의 한 이벤트를 나타냅니다. 여러분이 원하는 대기 시간만큼을 타이머에게 지정해주면, 이는 해당 시각에 알림을 주는 채널을 반환합니다. 다음 타이머는 2초를 대기합니다. |
timer1 := time.NewTimer(time.Second * 2)
|
|
<-timer1.C
fmt.Println("Timer 1 expired")
|
그저 대기만 하고자 했을땐, |
timer2 := time.NewTimer(time.Second)
go func() {
<-timer2.C
fmt.Println("Timer 2 expired")
}()
stop2 := timer2.Stop()
if stop2 {
fmt.Println("Timer 2 stopped")
}
}
|
첫번째 타이머는 프로그램을 시작한지 약 2초 뒤에 만료가 되지만, 두번째는 만료가 되기 전에 중단되어야 합니다. |
$ go run timers.go
Timer 1 expired
Timer 2 stopped
|
다음 예제: 티커.