码迷,mamicode.com
首页 > 其他好文 > 详细

3.9 计算器 使用协程

时间:2018-03-22 01:37:28      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:class   sel   tick   markdown   计算器   source   def   ack   nal   


package main

import (
    "fmt"
    "os"
    "os/signal"
    "time"
)

func main() {

    c := make(chan os.Signal, 1)
    signal.Notify(c)

    ticker := time.NewTicker(time.Second)
    stop := make(chan bool)

    go func() {
        defer func() { stop <- true }()
        for {
            select {
            case <-ticker.C:
                fmt.Println("Tick")
            case <-stop:
                fmt.Println("Goroutine closing")
                return
            }
        }
    }()

    // Block until
    // the signal is received
    <-c
    ticker.Stop()

    // Stop the goroutine
    stop <- true
    // Wait until the
    <-stop
    fmt.Println("Application stopped")
}

/*
Tick
Tick
Tick
Tick
Tick
Tick
Tick
Goroutine closing
Application stopped


*/

3.9 计算器 使用协程

标签:class   sel   tick   markdown   计算器   source   def   ack   nal   

原文地址:https://www.cnblogs.com/zrdpy/p/8620879.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!