golang 原子计数器
/*
go原子计数器
go里面的管理协程状态的主要机制就是通道
多协程原子访问计数器的例子
sync/atomic
*/
package main
import (
"fmt"
"runtime"
"sync/atomic"
"time"
)
func main() {
var ops uint64 = 0
for i := 0; i < 50; i {
go func() {
for {
atomic.AddUint64(&ops, 1)
//允许其他的协程来处理
runtime.Gosched()
}
}()
}
time.Sleep(time.Second)
opsFinal := atomic.LoadUint64(&ops)
}
您可能感兴趣的文章:
golang 原子计数器
计算机基础知识-计算机组成与原理
学习golang开始前的准备工作
Golang 限流器的使用和实现
为什么要学 Go
golang 正负数取反
[译]如果对齐内存的写入是原子性的,为什么我们还需要sync/atomic包
Golang 介绍
golang 读取 mysql null 字符串错误
golang锁记