From c2562c4af9d1c88b768d871944c1394c17c8cf79 Mon Sep 17 00:00:00 2001 From: badkaktus Date: Tue, 8 Oct 2019 11:58:08 +0300 Subject: [PATCH] =?UTF-8?q?=D1=82=D0=B8=D0=BA=D0=B5=D1=80=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples.txt | 2 +- examples/tickers/tickers.go | 26 ++++++++++++++------------ examples/tickers/tickers.sh | 4 ++-- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/examples.txt b/examples.txt index b15adf5..0e9c9cf 100644 --- a/examples.txt +++ b/examples.txt @@ -30,7 +30,7 @@ Select Закрытие каналов (Closing Channels) Перебор значений из каналов (Range over Channels) Таймеры (Timers) -Tickers +Тикеры (повторения) (Tickers) Worker Pools WaitGroups Rate Limiting diff --git a/examples/tickers/tickers.go b/examples/tickers/tickers.go index c23dd5c..a752c97 100644 --- a/examples/tickers/tickers.go +++ b/examples/tickers/tickers.go @@ -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 diff --git a/examples/tickers/tickers.sh b/examples/tickers/tickers.sh index 0bce8ff..29722b8 100644 --- a/examples/tickers/tickers.sh +++ b/examples/tickers/tickers.sh @@ -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