- 博客(26)
- 收藏
- 关注

原创 浅谈Redis适合做消息队列吗?
Redis有三种方法可以作为消息队列使用,List数据结构,发布/订阅模型,以及Stream数据结构。这三种方法各自有什么利弊?Redis作为消息队列和专业的消息队列对比如何?Redis适合作为消息队列吗?
2023-08-13 23:30:25
483
原创 Go语言的Mutex的演进
Go语言的Mutex也是经过了几次的迭代才成为了今日能适应Go语言的高并发特性的重要的同步原语。本文聊一聊Go语言的几个发展阶段,以及每个阶段的特性、优点和缺点。
2023-08-18 22:37:41
330
原创 slava项目(7):实现一致性哈希算法(含一致性哈希算法的详解)
一致性哈希算法的详细解析,包含一致性哈希算法的原理,优点、存在的问题以及解决办法等;用Go语言实现一致性哈希算法,并对redis采用的分布式集群算法进行说明。
2023-03-08 20:39:42
347
原创 slava项目(6):实现数据库的事务功能(含乐观锁的详解和实现)
实现Slava项目的事务操作,涵盖开启事务、提交事务、撤销事务,以及重点分析了乐观锁实现Watch(监控键值)
2023-02-23 22:12:39
261
1
原创 slava项目(5):实现复杂操作的锁LockMap
为了解决给每一个key加锁的内存泄漏问题,作者考虑给每个小的map进行加锁。原因是因为,我们将内存数据切分成了很多个小的哈希表,小的哈希表的数量远比我们的key数量要少,这时候给每个小的哈希表初始化锁,即使锁不释放,不delete也不会造成太多的内存泄漏。
2023-02-21 22:30:43
232
原创 golang编辑器中“cannot find declaration to go to”(出现无法找到要转到得声明)的问题
golang编辑器中“cannot find declaration to go to”(出现无法找到要转到得声明)的问题
2023-02-12 11:03:36
1373
原创 slava项目(1):golang中type定义函数及其使用
利用type字段可以自定义类型,定义出来的是一个变量,具有变量的性质,相同底层类型的变量之间是可以相互转换。
2023-02-11 16:00:15
308
原创 Go语言的map详细总结(第一篇)
Go语言的map详解,包括Go语言map的底层机制,哈希碰撞,key的定位过程,以及map的扩容条件及机制,map的并发安全性以及如何比较两个map相等.....
2023-02-10 22:40:54
3277
翻译 Understanding Real-World Concurrency Bugs in Go(了解Go在真实世界并发错误)(第二篇)
随着像Go这样的新语言的新编程习惯和语义,我们应该更加关注这些非死锁阻塞错误,并扩展传统的并发错误分类机制。我们只研究了已修复的并发错误。为了理解Go和传统语言之间的区别,我们还分析了gRPC的另一种实现,即gRPC-C,它是在C/C++中实现的。根据我们的分类方法,共有85个阻塞错误和86个非阻塞错误,共有105个错误是由错误的共享内存保护引起的,66个错误是由于错误的消息传递引起的。使用普通函数和匿名函数的goroutine/线程创建站点的数量,创建站点的总数,以及每千行代码的创建站点。
2023-02-08 09:43:02
202
原创 Go语言中select函数的使用
在go语言中,select语句就是用来监听和channel有关的I/O操作的,当I/O操作发生时候,就会触发相应的case动作。
2023-02-03 11:14:31
464
翻译 Understanding Real-World Concurrency Bugs in Go(了解Go在真实世界并发错误)(第一篇)
Go是一种静态类型的编程语言,旨在提供一种简单、高效、安全的方法来构建多线程软件。自2009年创立以来,Go已在生产和开源软件中获得了大量采用。Go提倡使用mes-sage传递作为线程间通信的手段,并提供了几种新的并发机制和库来简化多线程编程。了解这些新建议的含义以及消息传递和共享内存同步在程序错误或错误方面的比较非常重要。不幸的是,据我们所知,目前还没有关Go一致性错误的研究。
2023-02-03 10:26:47
147
原创 Go语言Channel的底层原理详解
“不要通过共享内存的方式来通信,而要通过通信的方式来共享内存。”Go语言的高并发特性依赖于goruntine和channel,采用channel进行通信可以控制并发的数量,可以使得生产者和消费者解耦,提高代码可读性。
2023-01-31 22:23:18
1551
原创 Go的垃圾回收(GC),详细总结
详细的Go语言垃圾GC分析,包括GC的简介、根节点、GC的三色标记法、GC的屏障、GC的触发时机、GC的调优,以及GC的分析工具等
2023-01-18 23:23:01
5483
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人