42.缓存和 DB 的一致性如何保证? 42.缓存和 DB 的一致性如何保证? 产生原因 主要有两种情况,会导致缓存和 DB 的一致性问题: 并发的场景下,导致读取老的 DB 数据,更新到缓存中。 这里,主要指的是,更新 DB 数据之前,先删除 Cache 的数据。在低并发量下没什么问题,但是在高并发下,就会存在问题。在(删除 Cache...
go 的锁是可重入的吗? go 的锁是可重入的吗? **题目来源:**网易 答案1: 不是可重入锁。 讨论这个问题前,先解释一下“重入”这个概念。当一个线程获取到锁时,如果没有其他线程拥有这个锁,那么这个线程就会成功获取到这个锁。线程持有这个锁后,其他线程再请求这个锁,其他线程就会进入阻塞等待的状态。但是如果拥有这个锁的线程再请求这...
go 同步、channel的实现 go 同步、channel的实现 题目来源:腾讯 channel的基本概念 channel俗称管道,用于数据传递或数据共享,其本质是一个先进先出的队列,使用goroutine+channel进行数据通讯简单高效,同时也线程安全,多个goroutine可同时修改一个channel,不需要加锁。 chan...