会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
深度思维者
永远年轻,永远热泪盈眶
failymao
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
3
4
5
6
7
8
9
10
11
···
14
下一页
2021年7月12日
Go并发控制--Channel篇
摘要: 1. 前言 我们考虑这么一种场景,协程A执行过程中需要创建子协程A1、A2、A3…An,协程A创建完子协程后就等待子协程退出。 针对这种场景,GO提供了三种解决方案: Channel: 使用channel控制子协程 WaitGroup : 使用信号量机制控制子协程 Context: 使用上下文控制子
阅读全文
posted @ 2021-07-12 07:36 failymao
阅读(2318)
评论(0)
推荐(0)
2021年7月8日
go逃逸分析
摘要: 1. 前言 所谓的逃逸分析(Escape analysis)是指由编译器决定内存分配的位置吗不需要程序员指定。 函数中申请一个新的对象 如果分配在栈中, 则函数执行结束后可自动将内存回收 如果分配在堆中, 则函数执行借宿可交给GC(垃圾回收)处理 有了逃逸分析,返回函数局部变量将变得可能,除此之外,
阅读全文
posted @ 2021-07-08 23:09 failymao
阅读(256)
评论(0)
推荐(0)
2021年7月6日
go GC垃圾回收原理
摘要: 1.前言 所谓垃圾就是不再需要的内存块,这些垃圾如果不清理就没办法再次被分配使用,在不支持垃圾回收的编程语言里,这些垃圾内存就是泄露的内存。 Golang的垃圾回收(GC)也是内存管理的一部分,了解垃圾回收最好先了解前面介绍的内存分配原理。 2. 垃圾回收算法 业界常见的垃圾回收算法有以下几种: 引
阅读全文
posted @ 2021-07-06 07:31 failymao
阅读(531)
评论(0)
推荐(0)
2021年7月4日
go 内存分配原理
摘要: 1. 前言 编写过C语言程序的肯定知道通过malloc()方法动态申请内存,其中内存分配器使用的是glibc提供的ptmalloc2。 除了glibc,业界比较出名的内存分配器有Google的tcmalloc和Facebook的jemalloc。二者在避免内存碎片和性能上均比glibc有比较大的优势
阅读全文
posted @ 2021-07-04 23:39 failymao
阅读(287)
评论(0)
推荐(0)
2021年7月2日
go协程调度
摘要: 前言 Goroutine调度是一个很复杂的机制, 尽管Goy源码中提供了大量的注释,但对起原理没有一个好的理解情况下去读源码收获不是很大。 1. 线程池的缺陷 我们知道,在高并发应用中频繁创建线程会造成不必要的开销,所以有了线程池。线程池中预先保存一定数量的线程,而新任务将不再以创建线程的方式去执行
阅读全文
posted @ 2021-07-02 07:06 failymao
阅读(605)
评论(0)
推荐(0)
2021年6月30日
RWmutex读写锁原理
摘要: 1.前言 所谓读写锁RWMutex,完整的表述应该是读写互斥锁,可以说是Mutex的一个改进版,在某些场景下可以发挥更加灵活的控制能力,比如:读取数据频率远远大于写数据频率的场景。 比如,程序钟写操作少而读操作多,简单的说,如果执行过程时1次写然后N次读的话,使用Mutex这个过程将是串行的, 因为
阅读全文
posted @ 2021-06-30 08:04 failymao
阅读(409)
评论(0)
推荐(0)
2021年6月29日
mutex原理
摘要: 前言 互斥锁是在并发编程中对共享资源进行访问控制的主要手段,Go语言对其提供了非常简单的Mutex,Mutex是一种数据结构, 对外暴露了两个方法Lock(),Unlock(),分别用于加锁和释放锁。 Mutex使用起来非常方便,但其内部实现却复杂得多,这包括Mutex的几种状态。 另外,我们也想探
阅读全文
posted @ 2021-06-29 08:13 failymao
阅读(1102)
评论(0)
推荐(1)
2021年6月28日
单体机构,集群,分布式区别
摘要: 前言 如何给一个外行人说清楚什么是单体架构,什么是集群,分布式,以及高可用,低耦合,高内聚这些专有名词及他们得原理呢? 首先这些名词都是概念得东西,没有明确的一个定义 。 单体架构 家里生小宝宝啦,由于自己没有照顾小宝宝的经验,所以请了位经验丰富的月嫂。 这位月嫂从买菜,到做饭,洗衣,拖地,喂奶,哄
阅读全文
posted @ 2021-06-28 07:22 failymao
阅读(323)
评论(0)
推荐(0)
2021年6月26日
range语句
摘要: 1.前言 range 是Go语言提供的一种遍历手段,可以操作的类型有Array, Slice, Map, Channel. 2.常见的使用技巧 遍历切片时使用正确的姿势是通过索引取值 BadGood func RangeSlice(slice []int) { // 遍历时,其实index不需要,要
阅读全文
posted @ 2021-06-26 23:36 failymao
阅读(399)
评论(0)
推荐(0)
聊一哈,新入如何优雅的跟老板打招呼
摘要: 又一个周五,总是让人有些期待。 今天说一下职场中第一次和老板见面如何优雅的跟老板打招呼。 作为一个近几年换过好几个工作的老油条的人来讲,有一些自己的看法 还是从今天的事情说起, 昨天leader说大老板明天要来公司,具体是来干什么,咱也么问,反正肯定不是特地来看我的。入职三个月,包括面试,都没和这个
阅读全文
posted @ 2021-06-26 12:23 failymao
阅读(2359)
评论(0)
推荐(0)
上一页
1
···
3
4
5
6
7
8
9
10
11
···
14
下一页