如何用一个 clientv3 连接同时做到轮询和调用 crud

2019-08-05 11:09:59 +08:00
 gramyang

常规的方法,开启一个子 goroutine,将 clientv3 的指针传进去,在这个里面轮询,父 goroutine 阻塞。

不过最近发现了一个新的写法,用 time.AfterFunc+defer 在一个 goroutine 里的相互调用而实现轮询,这样不需要开子 goroutine,也不用阻塞,简单清洁。

唯一有点搞不明白的是 time.AfterFunc 的机制,测试一下感觉是和其他的任务交叉执行的,但是总是会有偏差,不能保证绝对准时的延迟执行。

请教一下各位老铁还有没有别的实现方法。

2088 次点击
所在节点    Go 编程语言
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/589123

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX