golang的内存管理方式
TCMallocgo内存管理比较复杂,它借鉴了谷歌的TCMalloc内存分配算法,全称Thread-Caching Malloc,即线程缓存的malloc,实现了高效的多线程内存管理,用于替代系统的内存分配相关的函数(malloc、free,new,new等)。
Go源码学习:string的内部数据结构
前面在学习Go程序进程的内存布局时,分析了一个Go程序在Linux下ELF文件格式经过简化后大致如下图所示:Go二进制文件ELF主要有这几个section组成: .text, .rodata, .data, .noptrdata, .bss, .noptrbss。 .
Golang 临界资源安全与互斥锁
而在结尾时,竟然出现了余票为负数的情况,其产生的原因在于,票数快要卖完时,当售票口1余票1,并且售完这一张票后,在这个时间段内,售票口2已经进入了if tickets > 0满足条件的代码块内,然而售票口1此时将最后一张票售出,tickets 由1变为0售票口2打印出来了不应该出现的结果:余票0,同理售票口3打印了不该出现的结果:余票-1。
构建微服务的十大 Go 框架/库
现在,很多开源库都支持构建应用程序。我应该向你推荐一些库,它们可以帮助启动具有简单设计、干净代码和良好性能的项目。01 CLI 命令(spf13/cobra)你想要构建一些 CLI 命令吗?
「GCTT 出品」Golang:Concurrency, Goroutines and GOMAXPROC
William Kennedy 2014 年 1 月 29 日介绍刚刚加入GO-Minami 组织的新人经常会说想学习更多有关 Go 并发的知识。