首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

临界资源加锁的有关问题

2012-04-19 
临界资源加锁的问题有多个线程操作临界资源i,若所有线程只去读取i,则不需要加锁;若有2个以上的线程写i(例

临界资源加锁的问题
有多个线程操作临界资源i,若所有线程只去读取i,则不需要加锁;若有2个以上的线程写i(例如 i++ ,i--, i=5等),则对i操作需要加锁;若只有一个线程写i,其它的线程读i,那需不需要加锁啊???

[解决办法]
为了防止脏读,只要有写进程,就需要加锁。
同样的,当有进程在读的时候,新的写进程也需要等待。
具体的可参考数据库中的共享锁和独占锁。
[解决办法]
需要加锁,尤其是在多核环境里,如果读线程比较多而写线程比较少,可以试试读写锁,比一般锁性能要好
[解决办法]
要加读锁。
[解决办法]
不加锁应该会出现问题的吧。。比如一个读进程读取了一个数,然后写进程将这个数改了,读进程再读的时候就和之前的值不一样了。。。。

热点排行