包含标签 Go 的文章

Go语言之 sync.Mutex互斥锁

go语言以并发作为其特性之一,并发必然会带来对于资源的竞争,这时候我们就需要使用go提供的sync.Mutex这把互斥锁来保证临界资源的访问互斥。

既然经常会用这把锁,那么了解一下其内部实现,就能了解这把锁适用什么场景,特性如何了。

……

阅读全文

Go语言之 atomic.Value如何不加锁保证数据线程安全?

很多人可能没有注意过,在 Go(甚至是大部分语言)中,一条普通的赋值语句其实不是一个原子操作。例如,在32位机器上写int64类型的变量就会有中间状态,它会被拆成两次写操作(汇编的MOV指令)——写低 32 位和写高 32 位。32机器上对int64进行赋值 如果一个线程刚写完低32位,还没来得……

阅读全文

Go语言之 反射

众所周知,反射是框架设计的灵魂。反射在很多语言中都有其妙用。在计算机科学领域,反射是指一类应用,它们能够自描述自控制。本文将对于Golang的反射的笔记。

……

阅读全文