摘要:
这几天在研究 Go 的源码,突然发现了一个之前没有见过的位运算,见这里 new &^= mutexWoken & 和 ^,分别表示 AND 和 XOR,这个不用多说。 值得一提的是 ^ 这个符号,在我的印象中,它一直是一个二元运算符,平时见的最多的是 a ^ b 这种用法。 但是实际上它还是一个一元 阅读全文
摘要:
Overview Definition From wikipedia The actor model in computer science is a mathematical model of concurrent computation that treats actor as the univ 阅读全文
摘要:
几段 Go 并发代码 可以使用 go run --race main.go 来验证代码中是否存在并发问题 for range for i,v := range slice { // ... // go func() ... } 在 for range 中,i, v 这两个变量仅仅被初始化一次,在之后 阅读全文
摘要:
[翻译] The Go Memory Model Introduction (简介) Go 内存模型指定了在什么情况下,一个协程对变量的写操作可以被另一个协程读到。 Advice (建议) 当一份数据同时被多个协程访问,在对这份数据进行修改时,需要保证对这份数据的访问时按照一定顺序进行的。 为了让访 阅读全文
摘要:
Backpressure 我会直译为背压 背压是每个软件工程师在某个时候都需要处理的问题。在这篇文章中,我将会阐述什么是背压,为什么背压是常见的,以及怎样缓解它。 The Definition 在编程的世界中,背压一词借鉴自流体力学。 wiki 中是这样定义背压的 Resistance or for 阅读全文