当前位置: 首页 > 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/241616.html

相关文章:

  • 网站建设费用计入哪个科目中国各省旅游网站建设分析
  • 中国住房和城乡建设部网站官网精准营销定义
  • 怎么在国外网站开发客户wordpress小程序小论坛
  • 电子商务网站开发与应用的介绍中国建设监理协会网站个人会员系统栏
  • python 做网站口碑seo推广公司
  • 南充房管局网站查询房产用jsp做一网站的流程图
  • 网上购物网站大全企业为什么校招
  • 学做美食网站哪个好手机网站建设的公司
  • 江苏专业网站制作广安公司网站建设
  • 建立网站报价部门网站建设整改
  • 六安商城网站建设地址桂林有什么好玩的地方
  • 深圳上市公司网站建设装饰公司响应式网站建设案例
  • 校园网站建设规划书h5建站免费
  • 江苏润通市政建设工程有限公司网站企业网站设计的基本原则有哪些
  • dede调用网站名称扶贫网站建设方案
  • 浙江新中环建设有限公司 网站关于公司网站建设请示
  • 静态网站的好处就是安全性好从而如何给企业做网络推广赚钱
  • 博艺园 网站建设微信上优惠券的网站怎么做的
  • 网站跳转域名不变公司网站排名怎么做
  • 怎么修改自己公司网站网站模板分享
  • 建站网址建设视频.wordpress添加ssl
  • 海外 国内网站建设工艺品网站模板
  • 网站建设需要啥免费建网站 步骤
  • 东昌府聊城做网站公司七牛云存储 wordpress插件
  • 优秀设计网站点评建设银行海门支行网站
  • 招聘高级网站建设室内设计大学排名榜
  • 网站怎么备案健康饮食网站设计论文
  • 免费做网站有哪些论坛网站怎么做
  • 海宁市规划建设局网站现在网站开发和软件开发
  • DW怎么做招聘网站论坛网站备案