首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

加锁实际上是让访问共享资源的线程之间暂时失去并发性?该怎么处理

2012-03-27 
加锁实际上是让访问共享资源的线程之间暂时失去并发性?加锁实际上是让访问共享资源的线程之间暂时失去并发

加锁实际上是让访问共享资源的线程之间暂时失去并发性?
加锁实际上是让访问共享资源的线程之间暂时失去并发性。
关于上面这句话对还是不对呢?
我个人认为是正确的。
理由:加锁之后没有获得资源的线程就要等待。打个不太形象的比如,大家一起向食堂冲,打饭时大家就得排队来,打饭的这段时间就打破了原来一起冲的行为。加锁我认为也应该是这样。
如果有不同意见请阐明观点。


[解决办法]
最近看并行程序设计、我觉得应该是的吧、既然是共享变量、就是应该防止同一时间至少有两个线程访问阿、保护数据的一致性(应该是这样的)、其实可以用原子操作或者用本地变量、加锁解锁代价有点大、
[解决办法]
加锁实际上是让并发访问共享资源会导致冲突的线程之间在访问该资源时不并发而按先后次序逐个访问从而避免冲突。

[解决办法]
本来就是这样的,有啥问题?
[解决办法]
这样理解没问题,加锁的目的就是要在自己做完想做的事情前不让别人碰你锁定的东西。

现在的软件公司真够随意的,上次我们在飞机上居然碰到和别人的票重座位的事情。真不知道那程序是怎么通过审核的。
[解决办法]
就是把并行变成串行
[解决办法]
这个不一定
有种读写锁
读操作可以同时进行的
[解决办法]

探讨

这个不一定
有种读写锁
读操作可以同时进行的

[解决办法]
探讨

引用:

这个不一定
有种读写锁
读操作可以同时进行的


读本来就是可以同时进行的。加锁一般也是用在写操作上面的吧

热点排行