之前只知道在同步方法中调用异步(async)方法时,如果用.Result等待调用结果,会造成线程死锁(deadlock)。自己也吃过这个苦头,详见等到花儿也谢了的await。昨天一个偶然的情况,造成在同步方法中调用了async方法,并且没有使用.Result,结果造成整个ASP.NET应用程序的崩溃...
分类:
Web程序 时间:
2015-07-08 14:13:15
阅读次数:
217
在MySQL中对于使用表级锁定的存储引擎,表锁定时不会死锁的。这通过总是在一个查询开始时立即请求所有必要的锁定并且 总是以同样的顺序锁定表来管理。 对WRITE,MySQL使用的表锁定方法原理如下: ◆ 如果在表上没有锁,在它上面放一个写锁。 ◆否则,把锁定请求放在写锁定队列中。对READ,My.....
分类:
其他好文 时间:
2015-07-07 12:35:00
阅读次数:
98
1:
- (void)viewDidLoad {
//dispatch_sync(dispatch_get_main_queue(), ^{
//NSLog(@"3");
//死锁原因
//1:dispatch_sync在等待block语句执行完成,而block语句需要在主线程里执行,所以dispatch_sync如果在主线程调用就会造...
分类:
移动开发 时间:
2015-07-06 16:14:22
阅读次数:
253
原文:SQL Server Profiler工具一、SQL Profiler工具简介 SQL Profiler是一个图形界面和一组系统存储过程,其作用如下: 图形化监视SQL Server查询; 在后台收集查询信息; 分析性能; 诊断像死锁之类的问题; 调试T-SQL语句; 模拟重放SQL Serv...
分类:
数据库 时间:
2015-07-06 11:47:02
阅读次数:
148
出自:http://blog.csdn.net/kai27ks/article/details/7473683前言:常用RPM的朋友们都知道,RPM简单易用,但是它的依赖关系是最头疼的!有时候比方说A包需要B包,B包需要C包,C包需要A包,好了。这就是最常见的死锁了(类似数据库有木有?)。这个时候有...
分类:
其他好文 时间:
2015-07-06 11:45:55
阅读次数:
1837
上篇讲到了考试过程中,开发人员需要关注cpu和内存。sql日志也不容忽视,sql日志中显示了数据库操作系统的报错日志,给排错提供了很大的便利。
考试的数据库中写入了一些监听死锁和当前最耗资源语句的SQL语句。可以及时的监控死锁和了解当前考试进行到哪一步,是抽题,还是答题,还是交卷。
其中,听到了两个词:切割、数据库连接池。
查了一下,发现这两种方法都可以从不同的程度上对数据库的性能进行优化...
分类:
数据库 时间:
2015-07-05 16:40:14
阅读次数:
139
所谓的锁陷阱就是防止死锁。
不明确的规则:
1、不论是信号量还是 自旋锁,都不允许锁拥有者第二次获得这个锁(会死锁)。
2、系统直接调用的那些函数要获得信号量,保护要访问的设备结构。而内部函数的访问则可以根据需要上锁。
锁顺序规则:
1、如果都要获取一系列锁的话,那么可以按照一定顺序规则来获取锁,即:获取多个锁时,锁的顺序一直;
2、如果要获取自己的局部锁和系统的中心锁,则先获取自己的局部锁,然后再去获取中心锁...
分类:
系统相关 时间:
2015-07-05 15:08:01
阅读次数:
183
1、现象
最近项目中调出一个bug,某些时候程序会卡死不动,用windbg进行加载后用 ~*kb 命令列出所有的线程栈调用,发现有多个线程调用 WaitForMultipleObjects 在等待同一个内核对象:...
分类:
其他好文 时间:
2015-07-04 11:22:49
阅读次数:
543
【性能调优工具jps、jstack、jmap、jhat、jstat、hprof使用详解】http://my.oschina.net/feichexia/blog/196575现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程死锁锁争用(Lo...
分类:
其他好文 时间:
2015-07-04 08:23:29
阅读次数:
302
【共享锁】【读锁】共享锁(Share locks 简记为S锁)【独占锁】(事务结束释放)【写锁】排它锁(Exclusive locks 简记为X锁)【更新锁】(避免共享锁的死锁情况)【封锁协议 】 1 级封锁协议是:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。事务结束包括正常结束(....
分类:
数据库 时间:
2015-07-04 00:49:20
阅读次数:
154