
GO
文章平均质量分 79
水中加点糖
天下武功,无坚不破,唯快不破。https://github.com/puhaiyang
展开
-
四叉堆在GO中的应用-定时任务timer
在数据量不太大的情况下,四叉堆的综合性能比二叉堆更优GO中time.timer和time.tick是使用四叉堆实现的time.tick的任务每次运行后会重新入堆,time.timer的任务每次运行后会从堆顶删除。原创 2023-10-15 18:22:39 · 502 阅读 · 0 评论 -
map、sync.map、concurrent-map适用场景与源码解析
在go中进行KV存储时,常用map、sync.map、concurrent-map这3种map实现。项目中选型时具体应该使用哪个需要分析具体的业务场景,可参考sync.map中的这段话:最后,再简单总结一下:项目中选型时,应优先考虑使用原生map进行KV存储;多个协程的并发读写场景,应优先考虑在map中加上互斥锁(Mutex)或读写锁(RWMutex)实现,这样对map的编码方式改动也最小。并发场景为读多写少的场景,则可考虑sync.map;原创 2023-08-27 23:03:44 · 670 阅读 · 0 评论 -
go中后台启动程序
很多时候,我们想要让某个程序在后台运行,通常会使用nohup来启动这个程序。最常见的用法如下:如果要启动的程序较少,手动使用nohup启动就可以了。但遇到一次需要启动很多程序,那么使用程序脚本来启动这些程度则是一个不错的选择。正好最近公司项目中每次调试时需要启动很多关联程序,每次逐个检查每个程序的运行状态也是一件无聊又枯燥的事。正好最近接触到go,为了偷懒就用go来写个脚本代码,那些费时伤神的事就让go去干吧~原创 2023-06-17 22:36:37 · 1464 阅读 · 0 评论