java程序操作数据库的时候,遇到死锁:java.sql.SQLException: ORA-00060: 等待资源时检测到死锁 解决步骤: 1.找到死锁的oralce对象(表): select object_name,machine,s.sid,s.serial#from v$locked_obj ...
分类:
数据库 时间:
2016-05-16 17:31:37
阅读次数:
206
等待的类型 资源等待 当某个工作线程请求访问某个不可用的资源(因为该资源正在由其他某个工作线程使用,或者该资源尚不可用)时,便会发生资源等待。资源等待的示例包括锁等待、闩锁等待、网络等待以及磁盘 I/O 等待。锁等待和闩锁等待是指等待同步对象 队列等待 当工作线程空闲,等待分配工作时便会发生队列等待 ...
分类:
数据库 时间:
2016-05-13 10:07:01
阅读次数:
318
死锁产生的四个必要条件: (1) 互斥条件:一个资源每次只能被一个进程使用。(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。(3) 不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。(4) 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。 示例:死 ...
分类:
编程语言 时间:
2016-05-03 10:46:54
阅读次数:
197
死锁:指两个或两个以上进程(或线程)在执行过程中,因争夺资源而造成的一种互相等待现象,若无外力作用,它们都将无法继续推进下去。例:交叉死锁:线程1获得了锁1,线程2获得了锁2,此时线程1调用lock想获得锁2,需挂起等待线程2释放锁2,而线程2也想获得锁1,也需挂起等待..
分类:
编程语言 时间:
2016-04-25 22:58:19
阅读次数:
661
前面已经了解了InnoDB关于在出现锁等待的时候,会根据参数innodb_lock_wait_timeout的配置,判断是否需要进行timeout的操作,本文档介绍在出现锁等待时候的查看及分析处理; 在InnoDB Plugin之前,一般通过show full processlist(很难发现被锁的 ...
分类:
数据库 时间:
2016-04-24 12:32:43
阅读次数:
192
线程死锁产生的必要条件:(1)互斥条件:一个资源每次只能被一个进程使用。(2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。(3)不可剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。(4)循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。如何避免死锁,这点...
分类:
编程语言 时间:
2015-11-16 06:08:32
阅读次数:
183
今天公司服务有段时间在报警,运维提供了一份那个时间段的log。用jstack发现有个进程一直等待资源,Waiting on condition。加上当时ping 服务一直有点不稳定,后面一直能ping通,怀疑是网络问题了。开始翻服务log,发现刚好那个时间段重启,于是问题也就明白了。中间碰到问题:w...
分类:
编程语言 时间:
2015-11-10 14:05:39
阅读次数:
433
模拟场景:main方法为网络请求线程(也叫生产者线程),在网络请求线程中开启四个线程(消费者线程),进行高效处理队列中的共同资源(生产者线程生产的共同资源),等待资源处理完毕,网络请求线程执行结束,响应客户端。消费者线程体 1 /** 2 * 3 */ 4 package com.be...
分类:
编程语言 时间:
2015-10-22 12:30:15
阅读次数:
225
线程主要发挥作用的时候:当一个线程所执行的I/O被阻塞的时候,同一进程中的其他线程可以使用CPU来进行计算。这样,就提高了程序的执行效率。
状态:运行、就绪(等待被调用)、阻塞(等待I/O资源)
两种创建方法:
继承Thread类,并override其中的run()方法(当一个类没有继承其他类的时候,适合用这种方法)实现Runnable接口,并实现run()方法(当一...
分类:
编程语言 时间:
2015-07-23 22:02:10
阅读次数:
129
在上3篇文章里,我们讨论了列出反映服务器当前状态的不同查询。初涉SQL Server性能问题(1/4):服务器概况初涉SQL Server性能问题(2/4):列出等待资源的会话初涉SQL Server性能问题(3/4):列出阻塞的会话这篇文章我们看下从计划缓存里列出执行状态。 1 /********...
分类:
数据库 时间:
2015-06-03 15:36:28
阅读次数:
179