首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
golang
订阅
AbelXiong
更多收藏集
微信扫码分享
微信
新浪微博
QQ
17篇文章 · 0订阅
图解Go语言内存分配
Go语言内置运行时(就是runtime),抛弃了传统的内存分配方式,改为自主管理。这样可以自主地实现更好的内存使用模式,比如内存池、预分配等等。这样,不会每次内存分配都需要进行系统调用。 Golang运行时的内存分配算法主要源自 Google 为 C 语言开发的TCMalloc…
理解golang调度之二 :Go调度器
第一篇文章解释了关于操作系统层级的调度,这对于理解Go的调度是很重要的。这一部分我会在语义层级解释Go调度器是如何工作的,并且着重关注它的一些高级特性。Go 调度器是一个十分复杂的系统,特别细节的地方不重要,重要的是对于它的工作模式有一个好的理解,这会让你做出更好的工程方面的决…
Gopher 2019 Go并发编程的分享
A XXX must not be copied after first use. Pool Map 扩展同步原语 ReentrantLock Semaphore SingleFlight ErrGroup SpinLock fslock concurrent-map 原子操作…
简单聊聊Golang数据库编程的那些事
应该说,数据库编程是任何编程语言都有提供的基础功能模块,无论是编程语言内置的支持,还是通过外部库来实现;当然啦,不同编程语言提供的数据库编程API是不尽相同的,而且需要支持的数据库也是多种多样,如常用的MySQL,SQLServer,Postgres等数据库。 抛开其他编程语言…
Golang 实现轻量、快速的基于 Reactor 模式的非阻塞 TCP 网络库
gev 是一个轻量、快速的基于 Reactor 模式的非阻塞 TCP 网络库,底层并不使用 golang net 库,而是使用 epoll 和 kqueue,因此它并不支持 Windows。 Golang 的 goroutine 虽然非常轻量,但是每启动一个 goroutine…
理解golang调度之三:并发
当我在解决一个问题尤其是新问题的时候,我开始不会去考虑并发(concurrency)是否合适。我首先会去找一系列的解决方式然后确保它有效。然后在可读性和技术方案评估之后,我会开始去考虑并发是否实际合理。有些时候并发的好处是显而易见的,但是有时候并不是很明显。 第一篇文章,我解释…
理解golang调度之一 :操作系统调度
golang调度器的设计行为能够使你的多线程go程序更有效率、性能更好,这要归功于golang调度器对于操作系统调度器的支持。对于一个golang开发者来说,同时深刻理解操作系统调度和golang调度器工作原理,能够让你的golang程序设计和开发走到正确道路上。 操作系统调度…
听说,你想让自己的Go程序运行的更快?
到现在为止,我已经忘记了我在写什么,但我确定这篇文章是关于Go语言的。这主要是一篇,关于运行速度,而不是开发速度的文章——这两种速度是有区别的。
[译] Go 实现百万 WebSocket 连接
大家好!我是 Sergey Kamardin,是 Mail.Ru 的一名工程师。 本文主要介绍如何使用 Go 开发高负载的 WebSocket 服务。 如果你熟悉 WebSockets,但对 Go 了解不多,仍希望你对这篇文章的想法和性能优化方面感兴趣。 1. 简介 为了定义本…
Golang 的 协程调度机制 与 GOMAXPROCS 性能调优
Golang 简称 Go,Go 的协程(goroutine) 和我们常见的线程(Thread)一样,拥有其调度器。 全局G任务队列会和各个本地G任务队列按照一定的策略互相交换。没错,就是协程任务交换 如果还有空闲的P,则创建一个M 绑定该 P ,注意!这里,P 此前必须还没绑定…