Golang协程调度探究

前言 这几天攻关了一下go协程的调度,然后写了这篇文章 这篇文章的工作量真挺大的,我看的也很累,找资料也很累 这篇文章,需要感谢《Go语言底层原理剖析》这本书的作者,这本书给了我很大启发 ...

November 8, 2021 · 15 min · 7043 words

Golang协程基础探究

前言 最近我把Go重新过了一遍,特别是Go的协程这一块,我感觉任何事都是从简单到复杂 包括现在,所以我重新开始学习基础,后序我会出一个系列 分别为 Golang协程基础 (已经完成!) Golang协程调度 Golang协程控制 Golang协程通信 Golang垃圾回收机制 所以我会持续更新,大家请期待吧,爱你们! ...

October 27, 2021 · 6 min · 2739 words

Golang中Context使用的一点随想

Golang中Context使用的一点随想 前言 这一篇是三巨头最后一篇了,前两篇介绍了channel,waitgroup,今天这篇来介绍一下context,相比于其他两种,我倒是更推荐context(上下文)这种控制goroutine的方法,为什呢,下面我就来详细的说一说吧。 ...

June 1, 2020 · 7 min · 3303 words

Golang中WaitGroup使用的一点随想

Golang中WaitGroup使用的一点随想 前言(为什么又要写一篇随想文) 上次我写了一个channel的文章,我寻思,这Golang控制三大巨头,channel,waitgroup,context,我得尽快都安排上,最近工作太忙,压力过大,但是Update Blog还是不能够停下来,所以继续补上,学习还是不能停,那么来吧。 ...

May 26, 2020 · 3 min · 1297 words

Golang中Channel使用的一点随想

Golang中Channel使用的一点随想 前言(为什么要写这篇文章) 在Golang中,搞同步/并发控制的方法有很多,有channel(管道),WaitGroup(等待线程结束),context(上下文管理),我一直想深入研究一下它们,因为这次开发我遇到了很多比较棘手的问题,我认为万变不离其宗,所以我看了一下他们的源码,然后简单的写了几个Demo,结合了我自己的开发经验,写成此文,做记录的同时,希望可以帮到其他兄弟,未来我还会出context随想,waitgroup随想,一点一点来吧。 ...

May 25, 2020 · 5 min · 2007 words

开发中常用的Golang高级用法

开发中常用的Golang高级用法 前言 忙碌了两个月,这次开发终于要结束了,今天下午公司在重组集群机器,也没办法干活儿了,就写一些东西,相当于,留住一些东西,来纪念这辛苦的两个月吧。做一个纪念,也是为了方便以后自己去查看。在这次开发中,学习了不少Golang的高级特性,并且付诸于实现,也踩了不少坑,留下这篇文字,也是方便其他人能够查看,或者借鉴,如果帮到你,那么我也会很开心你。 ...

May 22, 2020 · 5 min · 2493 words

Golang 完成一个 Crontab定时器(2)

前言 上篇文章,大概讲了一下robfig/cron 包的使用,怎么开始一个定时任务,那个东西比较简单,也就是调用函数而已,人家都给你把包都封装好了。鉴于上一章我没提到cron相关,这一章专门我写个cron相关,讲讲怎么cron语法,然后再实现一个自动生成cron语句的逻辑。 ...

March 23, 2020 · 3 min · 1265 words

Golang 完成一个 Crontab定时器(1)

前言 Linux的Crontab定时器似乎已经足够强大,但是我认为还是没有办法满足我们所有的需求,例如定时器某一瞬间需要动态添加/删除任务的功能,例如定时器只能在指定的节点上启动(主节点),其他节点不需要定时服务,这种情况Linux自带的Crontab就不能够满足我们的需求了,所以这次要徒手定义一个Crontab定时器,作为自己的备用。 ...

March 23, 2020 · 3 min · 1291 words

Golang 调用 aws-sdk 操作 S3对象存储

Golang 调用 aws-sdk 操作 S3对象存储 前言 因为业务问题,要写一个S3对象存储管理代码,由于一直写Go,所以这次采用了Go,Go嘛,快,自带多线程,这种好处就不用多说了吧。 ...

October 25, 2019 · 3 min · 1295 words