专栏名称: GoCN
最具规模和生命力的 Go 开发者社区
今天看啥  ›  专栏  ›  GoCN

Go 1.23引入的新Bug?其实只是文档没看仔细

GoCN  · 公众号  ·  · 2024-09-03 10:11

文章预览

上个月中旬, Go 1.23版本正式发布 !这也是 Russ Cox作为Go tech leader 的最后一个发布版本,他本人在该版本中做出重要贡献,那就是解决了一直困扰Go团队的Timer/Ticker的GC回收问题,进而解决了Timer的Stop和Reset很难正确使用的问题。 不过,就在昨天,一个叫tulir的gopher提出的issue(ttps://github.com/golang/go/issues/69186)差点让 Russ Cox“晚节不保 ”:)。该issue提到,他写的一段使用了Timer的代码在 Go 1.22 中工作正常,但在Go 1.23中就无法工作了,具体现象是:在linux上,整个程序hang住不动了,而在macOS上,则直接引发panic异常退出:"fatal error: ts set in timer"。 随即,Go101老貘兄“补上一刀”,给出了一个更为简洁的示例: package main import  "time" func  main () {  illegalTimerCopy := *time.NewTimer(time.Second)  illegalTimerCopy.Stop() // block  for  ever } 我也实测了该示例,在我的macOS ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览