тикеры
This commit is contained in:
parent
e4cd9bbb7c
commit
c2562c4af9
@ -30,7 +30,7 @@ Select
|
||||
Закрытие каналов (Closing Channels)
|
||||
Перебор значений из каналов (Range over Channels)
|
||||
Таймеры (Timers)
|
||||
Tickers
|
||||
Тикеры (повторения) (Tickers)
|
||||
Worker Pools
|
||||
WaitGroups
|
||||
Rate Limiting
|
||||
|
@ -1,8 +1,8 @@
|
||||
// [Timers](timers) are for when you want to do
|
||||
// something once in the future - _tickers_ are for when
|
||||
// you want to do something repeatedly at regular
|
||||
// intervals. Here's an example of a ticker that ticks
|
||||
// periodically until we stop it.
|
||||
// [Таймеры](timers) необходимы, когда надо выполнить
|
||||
// что-то в будущем один раз, а _тикеры_ позволяют
|
||||
// повторять действия через определенные интервалы. Вот
|
||||
// пример того, как тикер выводит сообщение `Tick at...`
|
||||
// через заданный период, пока мы не остановим его.
|
||||
|
||||
package main
|
||||
|
||||
@ -13,10 +13,11 @@ import (
|
||||
|
||||
func main() {
|
||||
|
||||
// Tickers use a similar mechanism to timers: a
|
||||
// channel that is sent values. Here we'll use the
|
||||
// `range` builtin on the channel to iterate over
|
||||
// the values as they arrive every 500ms.
|
||||
// Тикеры используют тот же механизм, что и таймеры:
|
||||
// канал, в который посылаются значения. Здесь мы
|
||||
// будем использовать `range` для чтения данных из
|
||||
// канала, которые будут поступать в него каждые
|
||||
// 500мс.
|
||||
ticker := time.NewTicker(500 * time.Millisecond)
|
||||
done := make(chan bool)
|
||||
|
||||
@ -31,9 +32,10 @@ func main() {
|
||||
}
|
||||
}()
|
||||
|
||||
// Tickers can be stopped like timers. Once a ticker
|
||||
// is stopped it won't receive any more values on its
|
||||
// channel. We'll stop ours after 1600ms.
|
||||
// Тикеры могут быть остановлены так же как и таймеры.
|
||||
// Когда тикер будет остановлен, он не сможет больше
|
||||
// принимать значения в свой канал. Мы остановим его
|
||||
// через 1600мс.
|
||||
time.Sleep(1600 * time.Millisecond)
|
||||
ticker.Stop()
|
||||
done <- true
|
||||
|
@ -1,5 +1,5 @@
|
||||
# When we run this program the ticker should tick 3 times
|
||||
# before we stop it.
|
||||
# Когда мы запускаем эту программу, тикер должен выполнится
|
||||
# 3 раза, после чего остановиться.
|
||||
$ go run tickers.go
|
||||
Tick at 2012-09-23 11:29:56.487625 -0700 PDT
|
||||
Tick at 2012-09-23 11:29:56.988063 -0700 PDT
|
||||
|
Loading…
x
Reference in New Issue
Block a user