Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "os"
- "os/signal"
- "syscall"
- )
- func main() {
- signals := make(chan os.Signal, 10)
- signal.Notify(signals, syscall.SIGTERM)
- quit := make(chan bool)
- messages := make(chan string)
- go func() {
- loop:
- for {
- select {
- case sig := <-signals:
- fmt.Println("signal: ", sig)
- signal.Stop(signals)
- quit <- true
- break loop
- case msg := <-messages:
- fmt.Println("message: ", msg)
- }
- }
- }()
- for i := 1; i < 11; i++ {
- messages <- fmt.Sprintf("No.%d", i)
- }
- <-quit
- fmt.Println("Finish")
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement