管道控制循环退出
来源:互联网 发布:v380监控软件安卓版 编辑:程序博客网 时间:2024/06/06 18:32
package main
import (
“fmt”
“os”
“os/signal”
“syscall”
)
var (
stop chan bool
)
func main() {
stop = make(chan bool)
go run()
WaitForExitSign()
close(stop) //关闭管道, close管道以后就可以从管道中读数据了
fmt.Println(“结束程序”)
}
func run() {
for {
fmt.Println(“hello world”)
select { case <-stop: //所以程序会走到这里,然后跳出循环 fmt.Println("stop") goto Stop default: fmt.Println("default") }}Stop:
}
//监听ctrl+c信号
func WaitForExitSign() {
c := make(chan os.Signal, 1)
//结束,收到ctrl+c 信号
signal.Notify(c, os.Interrupt, os.Kill, syscall.SIGTERM, syscall.SIGHUP)
<-c
}
阅读全文
0 0
- 管道控制循环退出
- 控制线程(NSThread)和运行时循环(NSRunLoop)的退出
- 控制线程(NSThread)和运行时循环(NSRunLoop)的退出
- java学习4- Break在循环控制语句中实例之退出外层循环
- 循环读取管道数据
- 退出当前循环和退出循环
- 努力退出while循环!
- while循环退出
- 循环退出时机
- java退出for循环
- Jquery退出循环
- break退出循环
- last 退出当前循环
- 退出while循环
- 学生循环退出问题
- 退出循环break
- 高效退出循环线程
- while 退出循环
- ArrayList删除偶数
- html2canvas页面截图图片不显示
- 【HDU 1541 Stars 树状数组】
- The Unique MST
- Spark SQL的愿景
- 管道控制循环退出
- hpuoj【1216】复习! 复习!【贪心】
- android操作系统
- 利用redis + lua解决抢红包高并发的问题
- 比尔·盖茨:我想与2017届毕业生分享的人生功课
- How to establish a big data platform ?
- 树链剖分
- Error:Could not find com.android.support:appcompat-v7:25.3.1.
- SpringBoot如何添加拦截器