玩过WLK的请进,关于wlk英雄的荣耀卡片的问题.

撸啊撸里,英雄卡片技能前面带“真●”是怎么弄的?_百度知道问一个关于锁的问题。-中国学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
> 信息中心 >
问一个关于锁的问题。
来源:互联网 发表时间: 16:40:55 责任编辑:李志喜字体:
为了帮助网友解决“问一个关于锁的问题。”相关的问题,中国学网通过互联网对“问一个关于锁的问题。”相关的解决方案进行了整理,用户详细问题包括:假设某个list变量:_mylist,在对_mylist增删改的时候都加了锁,然后,在查询这个_mylist的时候,比如:_mylist.FindAll(p&=&&p.NeedPlayAreasEN.Trim()&==&AreasEN.Trim()&&&&p.Status.Trim()&!=&"PlayIsEnd")我的问题是:当执行这句_mylist.FindAll的时候,若同时_mylist正在锁内执行增加操作,那么_mylist.FindAll会等待锁释放吗?还是不等待?,具体解决方案如下:解决方案1:读的时候也要加锁,List&T&不保证并发的完整性和一致性解决方案2:不等待。没有什么“等待”机制。你看来是稀里糊涂地去瞎猜&lock&机制的。解决方案3:不等待,锁的是你的增删改过程,不是这个对象。解决方案4:所谓的阻塞式的lock,就是在&lock(...)&这条语句上去阻塞其所在线程的执行进度的。哪来的什么“那么_mylist.FindAll会等待锁释放”之类的说法呢?操作系统没有你说的那么强大的智慧,如果有的话,对于复杂的程序,那么必将付出“降低运行效率10000倍”的代价才能勉强得到。而你瞎猜则可以随便天马行空地去瞎猜,完全不学习实际的机制。解决方案5:所谓“在对_mylist增删改的时候都加了锁”这个说法,自己也要把它搞明白真实含义。小事情上明白,那么大事情上才会明白。如果大事情上特别能总结,结果被人一下子看出来在细节机制上完全是错的,那么你忽悠一套理论说法最终就会前功尽弃。不管你“xxxxxx的时候加了锁”的这个说法听起来多么高大上,它其实就等于一件事儿,就是在你的&lock(....)&语句上会阻塞所在的线程的执行。就这么简单的一点点技术概念而已。因此用这个细节来反观所有关于这类“锁的高大上说法”本身是否可操作。解决方案6:继续上面的问题,再提问:如果我在增删改的过程是这样加锁的:lock(_mylist){//增删改}那么_mylist.FindAll会等待锁释放吗?解决方案7:#4都说的很清楚了,还要再问一遍干嘛?解决方案8:在微软的示例里面,不仅要将锁对象设为私有,还要设为只读,自己想一想为何要设为只读,就知道你这样做是否合适了。解决方案9:引用&7&楼&shingoscar&的回复:#4都说的很清楚了,还要再问一遍干嘛?好,谢谢,一下没转过弯来。
相关文章:
最新添加资讯
24小时热门资讯
Copyright © 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号关于游戏王卡组问题的 高手请进_百度知道我手机玩QQ英雄杀,进去了为什么有的图片显示不了,有时候显示人物不显示卡片又有时候显示卡片不显示人..._百度知道

参考资料

 

随机推荐