后端

31 篇文章
2.8K 次阅读
13 人订阅

Go

lincoln

golang 系列:context 详解

在很多的 Go 开源框架里,我们经常能看到 context 的身影,它的使用场景有很多,像超时通知,取消通知都用到了 context。今天我们就来好好的认识一下...

7800
lincoln

golang 系列:atomic 原子操作

当我们想要对某个变量并发安全的修改,除了使用官方提供的 mutex,还可以使用 sync/atomic 包的原子操作,它能够保证对变量的读取或修改期间不被其他的...

13100
lincoln

golang 系列:sync.Cond 机制

在 Go 里有专门为同步通信而生的 channel,所以较少看到 sync.Cond 的使用。不过它也是并发控制手段里的一种,今天我们就来认识下它的相关实现,加...

9000
lincoln

golang 系列:sync.Once 讲解

之前提到过 Go 的并发辅助对象:WaitGroup。同样的, sync.Once 也是 Go 官方的一并发辅助对象,它能够让函数方法只执行一次,达到类似 in...

7000
lincoln

golang 系列:waitgroup 解析

Golang 提供了简洁的 go 关键字来让开发者更容易的进行并发编程,同时也提供了 WaitGroup 对象来辅助并发控制。今天我们就来分析下 WaitGro...

8000
lincoln

golang 系列:定时器 timer

在 Go 里有很多种定时器的使用方法,像常规的 Timer、Ticker 对象,以及经常会看到的 time.After(d Duration) 和 time.S...

11840
lincoln

golang 系列:RWMutex 读写锁分析

在上一篇文章 golang 重要知识:mutex 里我们介绍了互斥锁 mutex 的相关原理实现。而且在 Go 里除了互斥锁外,还有读写锁 RWMutex,它主...

7730
lincoln

golang 系列: mutex 讲解

Go 号称是为了高并发而生的,在高并发场景下,势必会涉及到对公共资源的竞争。当对应场景发生时,我们经常会使用 mutex 的 Lock() 和 Unlock()...

6800
lincoln

golang 系列:深入认识 map!

map 通过 hasTable 实现了我们最常见的 key-value 存储,能快速的对数据集增删查改。同时 Go 里的 map 也有很多特殊的地方,比如它的无...

9550
lincoln

golang 系列:channel 全面解析

channel 是 goroutine 与 goroutine 之间通信的重要桥梁,借助 channel,我们能很轻易的写出一个多协程通信程序。今天,我们就来看...

26020
lincoln

golang 系列:啥是垃圾回收?

golang 的三色标记法虽然没有 java 的内存回收机制成熟,但它细分了回收过程,通过写屏障技术,能和用户程序并发进行,这也一定程度的提高了内存回收速度。

7500
lincoln

golang 系列:神秘的内存管理!

内存管理在任何的编程语言里都是重头戏,Golang 也不例外。Go 借鉴了 Google 的 TCMalloc,它是高性能的用于 c++ 的内存分配器。其核心思...

7100
lincoln

golang 重要知识:golang 调度

Go 的调度机制相当于我们微服务里的基础组件。很多运行时操作都涉及到了调度的关联。本文会细聊调度概念,策略,以及它的机制。当然,也少不了最常提及的 GMP 模型...

13260
lincoln

golang 系列:gomod 的使用

作为官方的包依赖管理工具 gomod,已经被广泛的使用于各个开源项目中了。自从有了它,腰不酸手不疼了,敲代码也更有劲了......o(∩_∩)o 所以,今天我们...

11200

扫码关注云+社区

领取腾讯云代金券