首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
golang
订阅
SAIKAII
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
深入 Go 并发模型:Context
在Go服务器中,每个传入请求都在其自己的goroutine中处理。 请求处理程序通常会启动其他goroutine来访问后端,例如数据库和RPC服务。 处理请求的goroutine集合通常需要访问特定于请求的值,例如最终用户的身份,授权令牌和请求的截止日期。 当请求被取消或超时时…
【译】 Golang 中的垃圾回收(一)
垃圾回收器负责追踪堆内存的分配,释放掉不需要的空间,追踪那些还在使用的分配空间。不同编程语言对这个机制的实现都很复杂,但是开发人员开发软件时候并不需要了解垃圾回收太细节的东西就能进行构建。另外,不同发布版本编程语言的VM和runtime也总是在改变和进化。对于应用开发人员来说,…
Go 语言 Channel 的实现原理
这一节中的内容总共包含两个部分,我们会先介绍 Channel 的设计原理以及它在 Go 语言中的数据结构,接下来我们会分析常见的 Channel 操作,例如创建、发送、接收和关闭的实现原理,由于在 Range 和 Select 两节中我们会提到 Channel 在不同的控制结构…
Go 译文之如何构建并发 Pipeline
这篇文章来自 Go 官网,不愧是官方的博客,写的非常详细。在开始翻译这篇文章前,先简单说明两点。 首先,这篇文章我之前已经翻译过一遍,但最近再读,发现之前的翻译真是有点烂。于是,决定在完全不参考之前译文的情况下,把这篇文章重新翻译一遍。 其二,文章中有一些专有名字,计划还是用英…
一般电商应用的订单队列架构思想
其中,订单信息持久化,就是存储数据到数据库中。而最终客户端完成支付后的更新订单状态的操作是由第三方支付平台进行回调设置好的回调链接 NotifyUrl,来进行的。 服务端的直接瓶颈点,首先要考虑 TPS。去除细分点,我们主要看订单信息持久化瓶颈点。 在高并发业务场景中,例如 秒…
Go 译文之通过 context 实现并发控制
第二篇官方博客的翻译,主要是关于 Go 并发控制的 context 包。 总体来说,我认为上一篇才是 Go 并发的基础与核心。context 是在前章基础之上,为 goroutine 控制而开发的一套便于使用的库。毕竟,在不同的 goroutine 之间只传递 done cha…
配置 Golang 环境(Mac, vscode, 国内)
因为 Homebrew 的存在,在 Mac 上下载什么都很方便。可以运行以下的命令安装 Homebrew : Go 语言要求你在系统的环境变量中给提供一个$GOPATH变量,顾名思义,就是给 Go 语言提供一个让其操作的文件夹位置。 运行以上的命令会在终端打开一个 nano 编…
Go内存分配那些事,就这么简单!
新老朋友好久不见,我是大彬,这篇文章准备了很久,不是在拖延,而是中间做了一些其他事情,耽搁了一些。 这篇文章主要介绍Go内存分配和Go内存管理,会轻微涉及内存申请和释放,以及Go垃圾回收。 从非常宏观的角度看,Go的内存管理就是下图这个样子,我们今天主要关注其中标红的部分。 本…
Go语言学习——channel的死锁其实没那么复杂
协程(goroutine)算是Go的一大新特性,也正是这个大杀器让Go为很多路人驻足欣赏,让信徒们为之欢呼津津乐道。 协程的使用也很简单,在Go中使用关键字“go“后面跟上要执行的函数即表示新启动一个协程中执行功能代码。 可以简单理解为,Go中的协程就是一种更轻、支持更高并发的…