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

怎么做自己网站的后台设计师经常用的网站

怎么做自己网站的后台,设计师经常用的网站,wordpress 正版插件吗,茶叶企业网站源码在程序进行重启等操作时,我们需要让程序完成一些重要的任务之后,优雅地退出,Golang为我们提供了signal包,实现信号处理机制,允许Go 程序与传入的信号进行交互。 Go语言标准库中signal包的核心功能主要包含以下几个方面…

在程序进行重启等操作时,我们需要让程序完成一些重要的任务之后,优雅地退出,Golang为我们提供了signal包,实现信号处理机制,允许Go 程序与传入的信号进行交互。

Go语言标准库中signal包的核心功能主要包含以下几个方面:

1. signal处理的全局状态管理

通过handlers结构体跟踪每个signal的处理状态,包含信号与channel的映射关系,以及每个信号的引用计数。

2. 信号处理的注册与注销

Notify函数用于向指定的channel注册信号处理,会更新handlers的状态。

Stop函数用于注销指定channel的信号处理,将其从handlers中移除。

Reset函数用于重置指定信号的处理为默认行为。

3. 信号的抓取与分发

process函数在收到signal时,会把它分发给所有注册了该信号的channel。

4. signal处理的恢复

通过cancel函数,可以恢复signal的默认行为或忽略。

5. Context信号通知支持

NotifyContext函数会创建一个Context,在Context结束时自动注销signal处理。

6. 处理signal并发访问的同步

通过handlers的锁保证对全局状态的线程安全访问。

7. 一些工具函数

如handler的mask操作,判断signal是否在ignore列表中等。

总的来说,该实现通过handlers跟踪signal与channel的关系,在收到signal时分发给感兴趣的channel,提供了flexible和高效的signal处理机制。

在实际地使用中,我们需要创建一个接收信号量的channel,使用Notify将这个channel注册进去,当信号发生时,channel就可以接收到信号,后续的业务就可以针对性地进行处理。如下:

package mainimport ("fmt""os""os/signal""syscall"
)func main() {// 创建一个channel来接收SIGINT信号c := make(chan os.Signal)// 监听SIGINT信号并发送到csignal.Notify(c, syscall.SIGINT)// 使用一个无限循环来响应SIGINT信号for {fmt.Println("Waiting for SIGINT")<-cfmt.Println("Got SIGINT. Breaking...")break}
}

共有32个信号量,相对应的枚举在syscall包下

常用的信号值包括:

 SIGHUP 1 终端控制进程结束(终端连接断开)SIGINT 2 用户发送INTR字符(Ctrl+C)触发SIGQUIT 3 用户发送OUIT字符(Ctrl+/触发SIGKILL 9 无条件结束程序(不能被捕获、阻塞或忽略)SIGUSR1 10 用户保留SIGUSR2 12 用户保留SIGPIPE 13 消息管道损坏(FIFO/Socket通信时,管道未打开而进行写操作)SIGALRM 14 时钟定时信号SIGTERM 15 结束程序(可以被捕获、阻塞或忽略)

在go框架中,项目中实际使用到signal进行优雅退出见:如何在go中实现程序的优雅退出,go-kratos源码解析

http://www.ds6.com.cn/news/31617.html

相关文章:

  • 如何用图片文字做网站自动seo优化
  • 爱站网关键词查询系统黑龙江新闻头条最新消息
  • 上海装修公司前十强seo推广软件下载
  • 响应式网站的好处进入百度搜索网站
  • wordpress的文章写好后无法访问吉安seo招聘
  • 智慧旅游类网站开发商网页模板大全
  • 凡科做的网站提示证书错误百度上首页
  • 网站建设需要的文案搜索网站排名
  • 毕业设计网站前端代做软文推广做得比较好的推广平台
  • 曲靖网站设计公司云优化
  • 在电脑上怎么做网站公司网页制作
  • 北京网站空间东营seo
  • 免费自助建站工具百度收录提交网址
  • 我做的网站不知道网站怎么办事件营销的经典案例
  • 网站代理备案步骤淘宝客推广一天80单
  • 门户网网站seo怎么做网络营销是什么专业
  • 网站开发遇到的难点软文广告是什么
  • 网站备案地点百度seo快速
  • 网站推送怎么做好用的网站推荐
  • 工厂的网站在哪里做的住房和城乡建设部
  • 公司网站做地图地址网站建设杭州
  • 南宁市网站建设价格关键词林俊杰mp3
  • 网站开发版本号开网店怎么推广运营
  • vue做社区网站怎样宣传网站
  • 网站制作公司seo外贸推广
  • 理财网站如何做推广如何制作简易网站
  • 做h的小说网站有哪些免费职业技能培训网站
  • 鹰潭房产网站建设全能搜
  • copyright 个人网站站长之家下载
  • 网络营销类型有哪些上海seo服务外包公司