服务注册表并发读写的场景分析

在ServiceRegistry注册表类中存在许多方法。这些方法都是操作注册表数据的,可以看出大部分的方法都是读的情况,因此是一个读多写少的场景。用synchronized加锁性能就没有读写锁高,因此就可以优化一下
image.png

利用读写锁优化服务注册表的读写加锁操作

其实就是对注册表变量的写操作加写锁,读操作加读锁。用读写锁替换synchronized,以前读的操作加synchronized就是在保证,写操作的时候是不能读的,但是加了synchronized读操作和读操作也会阻塞住,因此换上读锁就可以解决这个问题。