动态的锁顺序死锁
在协作对象之间发生的死锁
死锁的避免与诊断
支持定时的锁
通过线程转储信息来分析死锁
其它活跃性危险
饥饿
糟糕的响应性
活锁...
分类:
编程语言 时间:
2014-09-09 13:13:08
阅读次数:
225
死锁:死锁产生的现场:当A进程P S2信号量而B进程P S1信号量时就会产生死锁,由于S2信号量须要B进程释放,而S1信号量须要A进程释放,因此两个进程都在等相互的资源,造成死锁。死锁产生的条件:相互排斥条件:进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅为一进程所占用。(信号量s1 ...
分类:
其他好文 时间:
2014-08-17 12:56:22
阅读次数:
348
阅读笔记 joe Armstrong段先德 译核心问题:如何在存在软件错误的情况下编写具有合理行为的软件 ,如何避免像死锁。死循环等问题ERLANG的世界观,一切皆进程。将任务分离成层次化的一系列任务,强隔离的进程负责来执行每个具体化的任务,进程之间不共享状态(实际上ETS跨越了这个准则)。只能通过...
分类:
其他好文 时间:
2014-08-16 13:47:00
阅读次数:
375
死锁的四个条件互斥占用等待非剥夺循环等待死锁的解决方案死锁预防间接预防:防止前三个条件中的任何一个的发生直接预防:防止循环等待的发生死锁避免进程启动拒绝:不启动任何一个可能发生死锁的进程资源请求拒绝:拒绝可能发生死锁的资源请求死锁检测死锁检测算法恢复策略:一旦检测到死锁,就要立即恢复。
分类:
其他好文 时间:
2014-08-12 00:29:43
阅读次数:
189
1. 死锁
在多个mutex存在的时候,可能就会产生死锁。
避免死锁的一个最通用的方法是,总是按照相同的顺序来lock the two mutexes, 即总是先于mutex B之前lock mutex A,这样就不会有死锁的可能。有时,这种方法很简单实用,当这些mutexes用于不同的目标。但是,当mutexes用于包含相同类的一个实例时,就不是那么容易了。
例如,如下面程序所...
分类:
编程语言 时间:
2014-08-09 18:47:19
阅读次数:
303
死锁:是两个或者两个以上的线程被无限的阻塞,线程之间互相等待所需资源。线程死锁产生的条件:当两个线程相互调用Join()方法。当两个线程使用嵌套的同步代码块的时候,一个线程占用了另一个线程的锁,互相等待阻塞,就有可能产生死锁。下面看代码:代码1:死锁的案例package com.lp.ecjtu.T...
分类:
编程语言 时间:
2014-08-09 13:16:08
阅读次数:
267
死锁的总结
死锁的定义:
死锁一般是指两个(或两个以上)线程同时竞争两个(或者多个)资源,从而产生同时等待的现象,使得系统僵持不动。
顺便复习一下线程与进程的定义以及他们之间的区别。
进程:一个有独立功能的程序利用某些数据资源的一次远行过程。
线程:一个进程里面的一条执行路径(或者执行过程),同一条进程下的n多条线程之间可以互相通信(共享数据)。
区别:...
分类:
其他好文 时间:
2014-07-29 14:30:28
阅读次数:
314
折腾好久不行,问题关键是找不到到底是哪个进程造成了锁死,v$locked_object这个视图又没有权限。 最终解决方法如下: PL/SQL Developer 中 Tools->Sessions打开session窗口,在窗口的下半部分有一个locks的tab页,...
分类:
数据库 时间:
2014-07-25 00:10:24
阅读次数:
251
一、死锁的概念1.死锁的概念系统中两个或两个以上的进程无限期地相互等待永远不会发生的条件,系统处于一种停滞状态,这种情况称为死锁。2.死锁产生的原因(1)进程推进顺序不当(2)对互斥资源的分配不当[并不是资源不足,但是剩余资源不足是有可能产生死锁的]。必须要指出的是,系统..
分类:
其他好文 时间:
2014-07-20 15:44:31
阅读次数:
173