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

如何给网站做住房和城乡建设部网站建造师

如何给网站做,住房和城乡建设部网站建造师,网站快速开发平台,wordpress绿色中文主题前言 函数原型为#xff1a; func AfterFunc(d Duration, f func()) *TimerGo 的 time.AfterFunc 的作用是等待指定的时间间隔#xff0c;然后在它自己的 goroutine 中调用 f。 现在有一个问题#xff0c;我明明调用了 AfterFunc#xff0c;但是它还没调用我指定的函数 func AfterFunc(d Duration, f func()) *TimerGo 的 time.AfterFunc 的作用是等待指定的时间间隔然后在它自己的 goroutine 中调用 f。 现在有一个问题我明明调用了 AfterFunc但是它还没调用我指定的函数程序就退出了。程序如下所示 package mainimport (fmttime )func main() {time.AfterFunc(5*time.Second, func() {fmt.Println(5s passed)}) }这段代码什么都没打印就结束了。 问题解决 上面的问题看起来像是 main goroutine 退出了程序直接退出还没来得及调用我们指定的函数。 下面就通过源码来看看是不是我们猜测的这样AfterFunc 的源码如下 func AfterFunc(d Duration, f func()) *Timer {t : Timer{r: runtimeTimer{when: when(d),f: goFunc,arg: f,},}startTimer(t.r)return t }上面的代码很简单先构造一个定时器然后启动定时器。定时器的内容也很好理解在 when: when(d) 时间调用 f: goFunc 函数函数的参数是 arg: f。 when(d) 的值是什么呢 func when(d Duration) int64 {if d 0 {return runtimeNano()}t : runtimeNano() int64(d)if t 0 {t 163 - 1 // math.MaxInt64}return t }可以看到 when 就是当前时间再加上我们指定的时间间隔。 那 goFunc 又是什么呢 func goFunc(arg any, seq uintptr) {go arg.(func())() }这个函数的作用就是创建一个 goroutine在 goroutine 内运行 arg 函数。 arg 就是我们传给 AfterFunc 要运行的函数先使用类型断言将其转换成函数然后再运行它。 于是问题就解决了就是因为 main goroutine 先退出了导致程序直接退出还没来得及执行我们指定的打印函数。下面给出两种解决方案 使用 select 替换 AfterFunc func main() {select {case -time.After(5 * time.Second):func() {fmt.Println(5s passed)}()} }使用 WaitGroup 等待其他 goroutine 结束 func main() {var wg sync.WaitGroupwg.Add(1)time.AfterFunc(5*time.Second, func() {defer wg.Done()fmt.Println(5s passed)})wg.Wait() }参考资料 go1.18.10
http://www.dnsts.com.cn/news/43020.html

相关文章:

  • 区网站建设阿里云网站建设套餐
  • 智能网站建设加工微信小程序广告投放
  • 漳州市网站建设室内设计专用软件
  • 手机网站页面布局wordpress 数据库优化
  • 做前端常用的网站及软件下载全球采购网登录
  • 网站个人备案步骤网站侧边 跟随 样式
  • 商城类网站建设+数据库全方位营销型网站
  • 哪里有网站监控工具网站建设公司成都
  • 保定网站排名北京网站模板下载
  • 营销网站制作企业网站死链接
  • 免费1级做爰片免费网站wordpress去掉链接中的分类
  • 网站的域名和ip地址如何重新解析做外贸网站价位
  • 怎么做有趣的视频网站付费网站搭建
  • 提供手机网站制作公司seo推广员招聘
  • 泌阳专业网站建设咸宁网站制作公司
  • 充值网站制作东莞网络推广教程
  • 湖北省城乡建设厅网站seo优化关键词哪家好
  • 网站开发用什么语言最好国内为啥不用wordpress开发
  • 公司一定建设网站怎么做淘宝客优惠券网站
  • 成都用设计公司网站在线工具网站
  • 类型: 营销型网站建设百度推广竞价开户
  • wordpress 多站点 子目录网页开发入门
  • 网站seo在线检测一个人搞得定网站建设
  • 效果好企业营销型网站建设开发WordPress长文章索引插件
  • 有服务器和域名怎么做网站济南口碑最好的装修公司
  • 想建个网站什么代码都是自己写seo行业岗位
  • 做电影采集网站用什么vps做网站是什么鬼
  • 网站建设评价标准2020网络营销推广方式
  • 简单的网站设计开发wordpress 表单数据
  • 深圳做分销商城网站课程精品网站开发