摘要:
在开发中,我们经常使用 HashMap 容器来存储 K V 键值对,但是在并发多线程的情况下,HashMap 容器又是不安全的, 因为在 put 元素的时候,如果触发扩容操作,也就是 rehash ,就会将原数组的内容重新 hash 到新的扩容数组中,但是在扩容这个过程中,其他线程也在进行 put 阅读全文
摘要:
主从架构可以说是互联网必备的架构了,第一是为了保证服务的高可用,第二是为了实现读写分离,你可能熟悉我们常用的 MySQL 数据库的主从架构,对于我们 redis 来说也不意外,redis 数据库也有各种各样的主从架构方式,在主从架构中会涉及到主节点与从节点之间的数据同步,这个数据同步的过程在 red 阅读全文
摘要:
可见性问题 可见性是指一个线程对共享变量进行了修改,其他线程能够立马看到该共享变量更新后的值 ,这视乎是一个合情合理的要求,但是在多线程的情况下,可能就要让你失望了,由于每个 CPU 都有自己的缓存,每个线程使用的可能是不同的 CPU ,这就会出现数据可见性的问题,先来看看下面这张图: 对于一个共享 阅读全文