상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
대만 화롄에서 개최되는 전시회는 어떤 것이 있나요?
대만 화롄의 유명한 도자기 휴양지는 어디인가요?
대만 화롄의 어린이들을 위한 활동은 어떤 것이 있나요?
베트남 후에에서 자전거를 빌려 탈 수 있나요?
단어의 맥락을 통해 의미를 이해하는 방법은?
영어 공부 중 문법을 쉽게 배우는 방법은?
영어 공부를 위한 생생한 경험을 찾는 방법은?
영어공부를 통해 문화 교류를 하는 경험은?
스웨덴 17세기의 주요 문헌들이 다룬 주제는 무엇이었나요?
네덜란드 독립 전쟁의 주요 동맹국은 어디였나요?
노르웨이 여행의 베스트 시즌은 언제인가요?
노르웨이 여행을 하면서 유럽 다른 국가와의 연계 여행은 어떻게 계획하나요?
Previous
Next
수정하기 - Go 언어의 `time.Timer`와 `time.Ticker`의 차이점은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
Go 언어에서 `time.Timer`와 `time.Ticker`는 모두 시간 기반의 작업을 수행하는 데 사용되지만, 그 목적과 사용 방식에서 중요한 차이점이 있습니다. 이 두 가지를 이해하는 것은 Go에서 <a href='https://sangseek.com/sangseeks/비동기/ko'>비동기</a> 프로그래밍을 할 때 매우 중요합니다. 1. `time.Timer` `time.Timer`는 특정 시간 후에 한 번만 실행되는 타이머입니다. 타이머는 지정된 시간(지연 시간)이 경과한 후에 채널을 통해 신호를 보냅니다. 주로 단일 이벤트를 지연시키거나 특정 시간 후에 작업을 수행할 때 사용됩니다. 사용 예시 ```go package main import ( "fmt" "time" ) func main() { timer := time.NewTimer(2 * time.Second) go func() { <-timer.C fmt.Println("타이머가 만료되었습니다!") }() fmt.Println("타이머를 시작합니다...") time.Sleep(3 * time.Second) fmt.Println("메인 함수가 종료됩니다.") } ``` 위의 예제에서 `time.NewTimer`는 2초 후에 `timer.C` 채널을 통해 신호를 보냅니다. 이 신호를 수신하면 "타이머가 만료되었습니다!"라는 메시지가 출력됩니다. 주요 특징 - 단일 이벤트 : 타이머는 한 번만 만료됩니다. - 지연 실행 : 특정 시간 후에 작업을 수행할 수 있습니다. - 취소 가능 : 타이머는 `Stop()` 메서드를 사용하여 취소할 수 있습니다. 2. `time.Ticker` `time.Ticker`는 일정한 간격으로 반복적으로 이벤트를 발생시키는 타이머입니다. 주로 주기적으로 작업을 수행해야 할 때 사용됩니다. `Ticker`는 지정된 간격마다 `C` 채널을 통해 신호를 보냅니다. 사용 예시 ```go package main import ( "fmt" "time" ) func main() { ticker := time.NewTicker(1 * time.Second) go func() { for t := range ticker.C { fmt.Println("현재 시간:", t) } }() time.Sleep(5 * time.Second) ticker.Stop() fmt.Println("Ticker가 중지되었습니다.") } ``` 위의 예제에서 `time.NewTicker`는 <a href='https://sangseek.com/sangseeks/1초/ko'>1초</a> 간격으로 현재 시간을 출력합니다. 5초 후에 `ticker.Stop()`을 호출하여 Ticker를 중지합니다. 주요 특징 - 반복 이벤트 : Ticker는 지정된 간격마다 반복적으로 신호를 보냅니다. - 주기적 작업 : 주기적으로 작업을 수행할 수 있습니다. - 중지 가능 : Ticker는 `Stop()` 메서드를 사용하여 중지할 수 있습니다. <a href='https://sangseek.com/sangseeks/요약/ko'>요약</a> - 타이머 (`time.Timer`) : 특정 시간 후에 한 번만 실행되는 이벤트를 처리합니다. 주로 지연 실행이 필요할 때 사용됩니다. - 틱커 (`time.Ticker`) : 일정한 간격으로 반복적으로 이벤트를 발생시킵니다. 주기적으로 작업을 수행해야 할 때 유용합니다. 이 두 가지를 적절히 활용하면 Go에서 시간 기반의 비동기 작업을 효과적으로 처리할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기