自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dablelv的博客专栏

The blog world of Dablelv

原创 Golang groupcache LRU 缓存简介与用法

1.LRU LRU(Least Recently Used,最近最久未使用算法)是一种常见的缓存淘汰算法,当缓存满时,淘汰最近最久未使用的元素,在很多分布式缓存系统(如Redis, Memcached)中都有广泛使用。其基本思想是如果一个数据在最近一段时间没有被访问到,那么可以认为在将来它被访问的...

2019-07-14 00:46:22 1049 0

原创 Golang sync.Cond 简介与用法

Cond 实现了一个条件变量,在 Locker 的基础上增加的一个消息通知的功能,保存了一个通知列表,用来唤醒一个或所有因等待条件变量而阻塞的 Go 程,以此来实现多个 Go 程间的同步。 type Cond struct { // L is held while observing or...

2019-07-12 22:56:24 1574 0

原创 Golang sync.Pool 简介与用法

Pool 是可伸缩、并发安全的临时对象池,用来存放已经分配但暂时不用的临时对象,通过对象重用机制,缓解 GC 压力,提高程序性能。 一个比较好的例子是 fmt 包,fmt 包总是需要使用一些 []byte 之类的对象,Golang 建立了一个临时对象池,存放着这些对象,如果需要使用一个 []byt...

2019-07-12 21:02:22 1741 0

原创 Golang sync.WaitGroup 简介与用法

1.简介 sync.WaitGroup 用于阻塞等待一组 Go 程的结束。主 Go 程调用 Add() 来设置等待的 Go 程数,然后该组中的每个 Go 程都会运行,并在结束时调用 Done(), 递减 WaitGroup 的 counter。 type WaitGroup struct { ...

2019-07-12 17:57:40 1227 0

原创 Golang sync.Map 简介与用法

Golang 中的 map 在并发情况下,只读是线程安全的,并发读写线程不安全。为了解决这个问题,Golang 提供了语言层级的并发读写安全的 sync.Map。 type Map struct { // contains filtered or unexported fields } //删...

2019-07-11 10:07:51 564 0

原创 Golang bytes.Buffer 用法精述

1.简介 bytes.Buffer 是 Golang 标准库中的缓冲区,具有读写方法和可变大小的字节存储功能。缓冲区的零值是一个待使用的空缓冲区。定义如下: type Buffer struct { buf []byte // contents are the bytes buf[of...

2019-07-02 16:58:42 4312 0

提示
确定要删除当前文章?
取消 删除