go 项目学习
qq_31104725
这个作者很懒,什么都没留下…
展开
-
go 项目中submodule and main module 冲突导致的错误记录
今天在进行项目开发的时候发现了一个错误,错误如下:从错误提示来看,是在说明引入的包与预期不符合。(其实从这里大概就能发现应该是同一个第三方包我们引用了两次,并且这两次引用我们使用了不同的版本)。解决方法就是找到我们引用不同包的地方,然后将包修改为一致的版本。...原创 2021-04-25 11:44:24 · 524 阅读 · 0 评论 -
读写锁,无锁,并发单线程与单线程的不同
上一篇博客我介绍了go-cache项目的实现和用法,因为go-cache属于线程安全的,所以大量使用了锁。基于这个前提我就想了解下,在无锁以及有锁,读写锁。下在并发与非并发的情况下会有怎样的性能表现。因为受限硬件环境的不同,所以不同的小伙伴测出来的结果可能不同,但我在这里主要是进行这几种情况的比较,所以只要在同一种环境下就好,话不多说我们先上代码。当前go version is 1.16func TestCache_Add(t *testing.T) { tc := New(NoExpirat.原创 2021-04-16 14:33:46 · 208 阅读 · 0 评论 -
go-cache学习与源码分析
github.com/patrickmn/go-cachego-cache是一款类似于memached 的key/value 缓存软件。它比较适用于单机执行的应用程序。go-cache实质上就是拥有过期时间并且线程安全的map,可以被多个goroutine安全访问。并别代码量也相对较少,今天我们一起对go-cache代码包进行学习。我们这里先上用法说明package mainimport ( "log" "time" "github.com.原创 2021-04-15 20:51:02 · 422 阅读 · 0 评论