深度思维者

永远年轻,永远热泪盈眶

上一页 1 2 3 4 5 6 7 ··· 14 下一页
摘要: 一.序 单从库名大概就能猜出其作用。sync.Once使用起来很简单, 下面是一个简单的使用案例 package main import ( "fmt" "sync" ) func main() { var ( once sync.Once wg sync.WaitGroup ) for i := 阅读全文
posted @ 2021-11-02 23:28 failymao 阅读(473) 评论(2) 推荐(0) 编辑
摘要: 一. 序言 WaitGroup是Golang应用开发过程中经常使用的并发控制技术。 WaitGroup,可理解为Wait-Goroutine-Group,即等待一组goroutine结束。比如某个goroutine需要等待其他几个goroutine全部完成,那么使用WaitGroup可以轻松实现。 阅读全文
posted @ 2021-11-01 23:46 failymao 阅读(696) 评论(0) 推荐(0) 编辑
摘要: 1. 前言 在学习 mutex后。 在读源码的时候发现里面使用了很多atomaic 包的方法来保证原子。在并发编程中,常常提到的并发安全,具体数据就是 对数据的修改读取是否是原子操作 所以也常说,并发是否能保证了原子操作。在Golang语言中,实现原子操作是在标准库实现的,即 sync/atomic 阅读全文
posted @ 2021-11-01 09:56 failymao 阅读(761) 评论(0) 推荐(0) 编辑
摘要: 一.前言 我们反复提到了goroutine的创建时简单的。 但是仍然要小心, 习惯总是会导致我们可能写出一些bug.对于语言规范没有定义的内容不要做任何的假设。 需要通过同步语义来控制代码的执行顺序 这一点很重要。 这些包提供了一些基础的同步语义,但是在实际的并发编程当中,我们应该使用 channe 阅读全文
posted @ 2021-10-31 22:23 failymao 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 1. 场景 使用windows, wsl2 进行日常开发测试工作。 但是wsl2经常会遇到网络问题。比如今天在测试一个项目,核心功能是将postgres 的数据使用开源组件synch 同步到clickhouse 这个工作。 测试所需组件 postgres kafka zookeeper redis 阅读全文
posted @ 2021-10-20 23:58 failymao 阅读(3008) 评论(2) 推荐(1) 编辑
摘要: 1.前言 虽然在 go 中,并发编程十分简单, 只需要使用 go func() 就能启动一个 goroutine 去做一些事情,但是正是由于这种简单我们要十分当心,不然很容易出现一些莫名其妙的 bug 或者是你的服务由于不知名的原因就重启了。 而最常见的bug是关于线程安全方面的问题,比如对同一个m 阅读全文
posted @ 2021-09-26 08:16 failymao 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 1. 前言 GMP调度应该是被面试的时候问的频率最高的问题! 我们知道,一切的软件都是跑在操作系统上,真正用来干活 (计算) 的是 CPU。早期的操作系统每个程序就是一个进程,知道一个程序运行完,才能进行下一个进程,就是 “单进程时代” 一切的程序只能串行发生。 1.1 Goroutine 调度器的 阅读全文
posted @ 2021-09-22 08:10 failymao 阅读(823) 评论(0) 推荐(1) 编辑
摘要: 1. 忽略某个字段 格式 // 使用json tag指定json序列化与反序列化时的行为 type Person struct { Name string `json:"name"` // 指定json序列化/反序列化时使用小写name Age int64 Weight float64 `json: 阅读全文
posted @ 2021-09-16 09:51 failymao 阅读(4365) 评论(0) 推荐(2) 编辑
摘要: 1. 对创建的gorouting负责 1.1 不要创建一个你不知道何时退出的 goroutine 下面的代码有什么问题? 是不是在我们的程序种经常写类似的代码? // Week03/blog/01/01.go package main import ( "log" "net/http" _ "net 阅读全文
posted @ 2021-09-14 23:41 failymao 阅读(4498) 评论(4) 推荐(6) 编辑
摘要: 1. 限流对比 类型 实现 优点 缺点 单机限流 令牌桶 1. 稳定可靠,实现简单,性能高2. 支持突发流量应对 1. 流量不均匀会导致误限制2. 阈值设置较为困难,需要提前压测 漏桶 1. 稳定可靠,实现简单,性能高 1. 流量不均匀会导致误限制2. 阈值设置较为困难,需要提前压测3.不支持突发流 阅读全文
posted @ 2021-09-10 07:58 failymao 阅读(225) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 14 下一页