当前位置: 首页 > news >正文

统计局网站群建设方案短视频获客

统计局网站群建设方案,短视频获客,英文网站标题字体,新鸿儒网站建设Go优雅退出/停机以前主要通过signal来实现#xff0c;当然现在也是通过signal来实现#xff0c;只是从go 1.16开始#xff0c;新增了更加友好的API: func NotifyContext(parent context.Context, signals ...os.Signal) (ctx context.Context, stop context.CancelFunc) 该…Go优雅退出/停机以前主要通过signal来实现当然现在也是通过signal来实现只是从go 1.16开始新增了更加友好的API: func NotifyContext(parent context.Context, signals ...os.Signal) (ctx context.Context, stop context.CancelFunc) 该函数该如何使用 package mainimport (contextfmtosos/signaltime )func main() {// 在这里执行异步的其他代码go async()ctx, stop : signal.NotifyContext(context.Background(), os.Interrupt)-ctx.Done() // 该语句done () 在接收到os.Interrupt时会停止阻塞强制return到下面fmt.Println(当前接收到了 os.Interrupt 指令但是通过了Stop () 来 Reset)// 收尾中...stop() // 重置 os.Interrupt 信号允许通过 CtrlC 强制退出// 执行收尾操作time.Sleep(3 * time.Second)fmt.Print(收尾成功程序退出。) }func async() {for i : 0; i 100; i {fmt.Println(我是协程)time.Sleep(1 * time.Second)} }如果使用stop再次ctrlc能直接强制退出因为对应的signal通知已经被重置了 如果不使用stop则ctrlc不能强制退出假设收尾工作存在死锁等行为则无法通过CtrlC杀掉进程效果如下
http://www.w-s-a.com/news/390/

相关文章:

  • 商品网站怎么做wordpress 表情拉长
  • 商城网站设计费用网络公司怎样推广网站
  • 视频公司的网站设计工图网
  • 免费快速网站十八个免费的舆情网站