首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
GO
订阅
牧都Mudu
更多收藏集
微信扫码分享
微信
新浪微博
QQ
4篇文章 · 0订阅
源码剖析sync.WaitGroup(文末思考题你能解释一下吗?)
官方文档对sync.WatiGroup的描述是:一个waitGroup对象可以等待一组协程结束,也就等待一组goroutine返回。有了sync.Waitgroup我们可以将原本顺序执行的代码在多个Goroutine中并发执行,加快程序处理的速度。其实他与java中的Count…
详解并发编程之sync.Once的实现(附上三道面试题)
init函数是在文件包首次被加载的时候执行,且只执行一次。 sync.Once是在代码运行中需要的时候执行,且只执行一次。 实现还是比较简单,就不细说了。 只有两个字段,字段done用来标识代码块是否执行过,字段m是一个互斥锁。 这里把注释都省略了,反正都是英文,接下来咱用中文…
go解锁设计模式之单例模式
单例模式确保某一个类只有一个实例。为什么要确保一个类只有一个实例?有什么时候才需要用到单例模式呢?听起来一个类只有一个实例好像没什么用呢! 那我们来举个例子。比如我们的APP中有一个类用来保存运行时全局的一些状态信息,如果这个类实现不是单例的,那么App里面的组件能够随意的生成…
详解并发编程基础之原子操作(atomic包)
原子(atomic)本意是"不能被进一步分割的最小粒子",而原子操作(atomic operation)意为"不可中断的一个或一系列操作"。其实用大白话说出来就是让多个线程对同一块内存的操作是串行的,不会因为并发操作把内存写的不符合预期。我们来看这样一个例子: 假设在操作一的时…