关于golang time.Ticker的一个问题

ysh0566 · · 2244 次点击
time.NewTicker返回的是一个指针,你用 *time.NewTicker 等于是拷贝了结构体值,然而结构体里面除了 C,还有一个runtimeTimer,这个也被拷贝了,大概这就是stop无法生效的原因吧。 总结:闲的蛋疼
#5
更多评论
结果是ticker1的stop没有任何用,但是我看stop方法传入的也是指针啊
#1
time.NewTicker 返回的就是一个 *Ticker,你再取一次指针操作没有必要,我修改了一下代码, ```go go func() { time.Sleep(3 * time.Second) fmt.Println("--start stop--") ticker.Stop() fmt.Println("--end stop--") }() ``` ticker.stop() 被调用了,但是没有停止,估计是和你取了两次指针操作有关
#2