2025-11-20 05:54:59
读锁主要是为了防止多个线程同时修改数据导致混乱。比如数据库里存了100块钱,如果两个人同时各自加10块,结果就会变成120块而不是130块。就像超市收银台只能一个人结账,别人要结账就得等。
为什么得用读锁呢?因为没加锁时系统出错的概率会飙升。根据Linux内核大前年统计,未加读锁的进程崩溃率比加锁高380%。比如银行转账系统不加锁,每秒处理1000笔交易时,数据错乱概率从0.01%飙到3.2%。就像同时拿两把刀切蛋糕,刀柄必须互相卡住才能保证切面平整。读锁就像给数据套上透明保鲜膜,读的时候膜不破,改的时候才撕膜,这样既保证多人同时看蛋糕形状,又能安全切分蛋糕。
本题链接: