在java中,跟着synchronized关键字的lock都会在thread离开同步块的范围时被释放掉,即使是因为异常而离开范围也是一样。所以在java中使用synchronized关键字时,异常导致不释放锁而导致死锁的现象...
分类:
编程语言 时间:
2015-04-06 10:12:59
阅读次数:
159
Python死锁是怎么形成的呢?死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。由于资源占用是互斥的,当某个进程提出申..
分类:
编程语言 时间:
2015-04-05 19:00:23
阅读次数:
154
死锁:一种情形,此时执行程序中两个或多个线程发生永久堵塞(等待),每个线程都在等待被 其他线程占用并堵塞了的资源。例如,如果线程A锁住了记录1并等待记录2,而线程B锁住了记录2并等待记录1,这样两个线程就发生了死锁现象。gdb调试死锁的方法:gdbattach pidthread apply all...
分类:
数据库 时间:
2015-04-03 18:46:19
阅读次数:
211
packagecom.Thread;publicclassDeathSynchronized {publicstaticvoidmain(String[] args) {//资源Object g =newObject();Object m =newObject();//创建线程Test1 t1 =n...
分类:
其他好文 时间:
2015-04-03 14:53:26
阅读次数:
335
MyISAM是非事务的存储引擎,innodb是支持事务的存储引擎。innodb的引擎比较适合于插入和更新操作比较多的应用,而MyISAM则适合用于频繁查询的应用 。MyISAM--表锁,innodb--设计合理的话是行锁,MyISAM不会出现死锁。最大的区别就是MYISAM适合小数据,小并发;INN...
分类:
数据库 时间:
2015-04-03 11:11:39
阅读次数:
151
package test.thread;
public class DeadLockTest extends Thread{
private Object o;
public void setO(Object o){
this.o=o;
}
public void run(){
synchronized(this){
Sy...
分类:
编程语言 时间:
2015-04-02 22:38:37
阅读次数:
304
死锁/*
* 死锁:多个线程使用不同的锁,每个线程都需要另一个线程持有的锁
* 出现:同步的嵌套
*
*/
public class Test01 {
public static void main(String[] args) {
Tom tom = new Tom();
Alice alice = new Alice();
MyT...
分类:
编程语言 时间:
2015-03-30 09:22:27
阅读次数:
212
最近项目中出现了Tomcat占用CPU100%的情况,原以为是代码中出现死循环,后台使用jstack做了dump,发现是系统中不合理使用HashMap导致出现了死循环(注意不是死锁)。 产生这个死循环的根源在于对一个未保护的共享变量 — 一个"HashMap"数据结构的操作。当在所有操作的...
分类:
编程语言 时间:
2015-03-30 01:27:34
阅读次数:
177
最近项目里面的一段千年代码出了问题,这个问题以前也出现过,不过不是那么明显,这次迁移机器由以前的4台机子变成2台以后问题被放大,最终不得不解决,特此分析一下。先放出问题的代码?12345678910111213141516171819202122232425262728293031323334353...
分类:
其他好文 时间:
2015-03-30 01:03:12
阅读次数:
463
1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/O吞吐量小,形成了瓶颈效应。3、没有创建计算列导致查询不优化。4、内存不足5、网络速度慢6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)8、sp...
分类:
数据库 时间:
2015-03-29 13:32:27
阅读次数:
168