建议73:避免锁定不恰当的同步对象在C#中,让线程同步的另一种编码方式就是使用线程锁。线程锁的原理,就是锁住一个资源,使得应用程序在此刻只有一个线程访问该资源。通俗地讲,就是让多线程变成单线程。在C#中,可以将被锁定的资源理解成new出来的普通CLR对象。既然需要锁定的资源就是C#中的一个对象,我们...
下面一段摘自网络,我觉得这是非常好的。锁是理解非常有帮助。“为什么要加锁?加锁是为了防止不同的线程訪问同一共享资源造成混乱。打个例如:人是不同的线程,卫生间是共享资源。你在上洗手间的时候肯定要把门锁上吧。这就是加锁,仅仅要你在里面。这个卫生间就被锁了,仅仅有你出来之后别人才干用。想象一下假设卫生间的...
分类:
其他好文 时间:
2015-08-19 10:45:26
阅读次数:
131
1 琐的概念 锁是数据库用来控制共享资源并访问的机制 锁用于保护正在被修改的数据 直到提交或回滚了事物之后,其他用户才可以更新数据 2 锁的优点 一致性 完整性 并发性 3 锁的分类 行级锁:对正在被修改的行进行锁定。其他用户可以访问除被锁定的行以外的行 oracle自动加上 insert upda...
分类:
其他好文 时间:
2015-08-15 16:07:37
阅读次数:
158
查看Oracle数据库被锁住的表,删除锁表的进程[@more@]查看Oracle数据库被锁住的表,删除锁表的进程--1.查看被锁住的表SELECTdob.object_nametable_name,lo.locked_mode,lo.session_id,vss.serial#,vss.actionaction,vss.osuserosuser,vss.logon_time,vss.processap_pid,vps.spi..
分类:
数据库 时间:
2015-08-14 19:24:54
阅读次数:
123
原文地址:http://yanwushu.sinaapp.com/ora-28000-the-account-is-locked/在oracle中。连续十次尝试登陆不成功。那么此账户将会被锁定(lock)。当使用被锁定的账户登录时,系统会报错:ORA-28000:the account is loc...
分类:
其他好文 时间:
2015-08-14 17:01:18
阅读次数:
91
[示例]:function scroll_to(obj){ $('html,body').animate({scrollTop:obj.position().top},700); }以上代码会导致滚动到指定位置后,动画会因为缓动时间过长的关系被锁定不被执行,解决办法是:function scroll...
分类:
其他好文 时间:
2015-08-10 17:42:27
阅读次数:
143
Python发挥不了多核处理器的性能(据说是受限于GIL,被锁住只能用一个CPU核心,关于这个,这里有篇文章),但是可以通过Python的multiprocessing(多进程)模块或者并行运算模块(例如,pprocess)来使用到多核。测试代码如下,程序先后分别测试了串行运算、并行运算以及多线程和...
分类:
编程语言 时间:
2015-08-10 17:32:22
阅读次数:
142
1、查出被锁的表。SELECT lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username User_name,o.owner,o.object_name,o.object_type,s.sid,s.serial#FROM v$locked_object...
分类:
数据库 时间:
2015-08-07 10:53:05
阅读次数:
237
http://www.itpub.net/forum.php?mod=viewthread&tid=1761963以前在数据库维护中,基本都是碰到表被锁的情况,然后就是查找被锁的表相关的信息,通过v$session视图查找到相关的sid和serial#,通过alter system kill ses...
分类:
数据库 时间:
2015-08-04 20:54:43
阅读次数:
249
首先:查询数据那些表被锁定1. SELECT l.session_id sid, s.serial#, l.locked_mode,l.oracle_username, l.os_user_name,s.machine, s.terminal, o.object_name, s.logon_t...
分类:
数据库 时间:
2015-08-03 18:43:54
阅读次数:
147