2021年4月2日
摘要:
运行时信号量机制 semaphore 前言 作用是什么 几个主要的方法 如何实现 sudog 缓存 acquireSudog releaseSudog semaphore poll_runtime_Semacquire/sync_runtime_SemacquireMutex sync_runtim
阅读全文
posted @ 2021-04-02 13:21
ZhanLi
阅读(3833)
推荐(1)
2021年4月1日
摘要:
semaphore semaphore的作用 如何使用 分析下原理 Acquire TryAcquire Release 总结 参考 semaphore semaphore的作用 信号量是在并发编程中比较常见的一种同步机制,它会保证持有的计数器在0到初始化的权重之间,每次获取资源时都会将信号量中的计
阅读全文
posted @ 2021-04-01 08:19
ZhanLi
阅读(3636)
推荐(0)
2021年3月15日
摘要:
互斥锁 前言 什么是sync.Mutex 分析下源码 Lock 位运算 Unlock 总结 参考 互斥锁 前言 本次的代码是基于go version go1.13.15 darwin/amd64 什么是sync.Mutex sync.Mutex是Go标准库中常用的一个排外锁。当一个goroutine
阅读全文
posted @ 2021-03-15 09:29
ZhanLi
阅读(1493)
推荐(1)
2021年3月11日
摘要:
sync.Cond 前言 什么是sync.Cond 看下源码 Wait Signal Broadcast 总结 sync.Cond 前言 本次的代码是基于go version go1.13.15 darwin/amd64 什么是sync.Cond Go语言标准库中的条件变量sync.Cond,它可以
阅读全文
posted @ 2021-03-11 08:38
ZhanLi
阅读(797)
推荐(0)
2021年3月9日
摘要:
sync.Once 前言 sync.Once的作用 实现原理 总结 sync.Once 前言 本次的代码是基于go version go1.13.15 darwin/amd64 sync.Once的作用 根据名字就大致能猜到这个函数的作用,就是使用sync.once的对象只能执行一次。 我们在err
阅读全文
posted @ 2021-03-09 09:21
ZhanLi
阅读(312)
推荐(0)
2021年3月8日
摘要:
errgroup 前言 如何使用 实现原理 WithContext Go Wait 错误的使用 总结 errgroup 前言 来看下errgroup的实现 如何使用 func main() { var eg errgroup.Group eg.Go(func() error { return err
阅读全文
posted @ 2021-03-08 16:26
ZhanLi
阅读(1233)
推荐(0)
2021年3月7日
摘要:
waitGroup源码刨铣 前言 WaitGroup实现 noCopy state1 Add Wait 总结 参考 waitGroup源码刨铣 前言 学习下waitGroup的实现 本文是在go version go1.13.15 darwin/amd64上进行的 WaitGroup实现 看一个小d
阅读全文
posted @ 2021-03-07 21:37
ZhanLi
阅读(792)
推荐(0)
2021年2月22日
摘要:
context 前言 什么是context 为什么需要context呢 context底层设计 context的实现 几种context emptyCtx cancelCtx timerCtx valueCtx 防止内存泄露 总结 参考 context 前言 之前浅读过,不过很快就忘记了,再次深入学
阅读全文
posted @ 2021-02-22 19:25
ZhanLi
阅读(361)
推荐(1)
2021年2月5日
摘要:
2020年度总结 害,又是一年。想想去年的定的目标,完成一般吧。不过也有别的收获。 总结下这一年,就是出乎意料,之前在别人口中听到的不可思议的事情,竟然真真切切发生到自己身上了。 印象最深刻的就是裁员,找工作。。。。 不过通过次突发的事情,明白了要时刻有危机感,学习不能断。 这次的失业找工作,好像明
阅读全文
posted @ 2021-02-05 10:12
ZhanLi
阅读(142)
推荐(0)
2021年1月23日
摘要:
go中string是如何实现的呢 前言 实现 go语言中的string是不可变的 []byte转string string转[]byte 字符串的拼接 +方式进行拼接 fmt 拼接 Join 拼接 buffer 拼接 builder 拼接 测试下几种方法的性能 字符类型 byte rune 内存泄露
阅读全文
posted @ 2021-01-23 23:31
ZhanLi
阅读(1369)
推荐(0)