您现在的位置:首页 --> 查看专题: 读写锁
为什么需要用读写锁。读写锁用于single thread写,多个thread读的情况。在没有发明读写锁之前,我们当然可以对所有的thread使用Mutex来控制资源访问。但是在这个场景中,两个thread读取数据没有必要进行互斥,读写锁应运而生,是的这种场景下所有拿到读锁的thread可以并行执行。读写锁的实现。实现:在多核系统中读写锁的实现一般是基于SpinLock,Linux就是如此。抢占策略:写优先还是读优先。这个都可以,我觉得写优先比较好一点,因为一般此类应用读thread占多数,如果读优先则写锁线程可能被饿死。读锁的upgrade和downgrade。有的时候在读到一半的时候,可能突然又要想写点什么东西,此时不能直接拿写锁,一定会死锁。只能关掉读锁来重新竞争写锁。这时候可以引入读锁的upgrade来使其直接升级为写锁。
[ 共1篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
-
[918] WordPress插件开发 -- 在插件使用 -
[134] 解决 nginx 反向代理网页首尾出现神秘字 -
[54] 整理了一份招PHP高级工程师的面试题 -
[52] 海量小文件存储 -
[52] 如何保证一个程序在单台服务器上只有唯一实例( -
[52] 全站换域名时利用nginx和javascri -
[51] Innodb分表太多或者表分区太多,会导致内 -
[50] 用 Jquery 模拟 select -
[49] CloudSMS:免费匿名的云短信 -
[48] 分享一个JQUERY颜色选择插件
赞助商广告