Examples using... time.Sleep()
Sleep pauses the current goroutine for at least the duration d. A negative or zero duration causes Sleep to return immediately.
NewTicker returns a new Ticker containing a channel that will send the time with a period specified by the duration argument. It adjusts the intervals or drops ticks to make up for slow receivers. The duration d must be greater than zero; if not, NewTicker will panic. Stop the ticker to release asso...
The following example shows how to use Value for periodic program config updates and propagation of the changes to worker goroutines.
Here we use the built-in synchronization features of goroutines and channels to achieve synchronized access to shared state. This channel-based approach aligns with Go’s ideas of sharing memory by communicating and having each piece of data owned by exactly 1 goroutine.
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.
Implementing timeouts in Go is easy and elegant thanks to channels and select.
Go’s select lets you wait on multiple channel operations. Combining goroutines and channels with select is a powerful feature of Go.
To wait for multiple goroutines to finish, we can use a wait group.
We can use channels to synchronize execution across goroutines. Here’s an example of using a blocking receive to wait for a goroutine to finish.
A goroutine is a lightweight thread of execution.