两个线程相互等着对方释放同步监听器;等着要对方的结果后才能继续执行就会发生死锁。男对女说:你先嫁给我,我再给你买房子;女对男说:你先给我买房子,我再嫁给你。多个线程同时锁住同一个监听对象。在开发中要避免死锁。死锁的例子:public class DeadLock { public static...
分类:
编程语言 时间:
2014-09-25 17:40:19
阅读次数:
166
死锁对于DBA或是数据库开发人员而言并不陌生,它的引发多种多样,一般而言,数据库应用的开发者在设计时都会有一定的考量进而尽量避免死锁的产生.但有时因为一些特殊应用场景如高频查询,高并发查询下由于数据库设计的潜在问题,一些不易捕捉的死锁可能出现从而影响业务.这里为大家介绍由于设计问题引起的键查找死锁及...
分类:
其他好文 时间:
2014-08-14 10:24:19
阅读次数:
217
死锁对于DBA或是数据库开发人员而言并不陌生,它的引发多种多样,一般而言,数据库应用的开发者在设计时都会有一定的考量进而尽量避免死锁的产生.但有时因为一些特殊应用场景如高频查询,高并发查询下由于数据库设计的潜在问题,一些不易捕捉的死锁可能出现从而影响业务.这里为大家介绍由于设计问题引起的键查找死锁及...
分类:
数据库 时间:
2014-08-12 12:39:44
阅读次数:
310
1. 死锁
在多个mutex存在的时候,可能就会产生死锁。
避免死锁的一个最通用的方法是,总是按照相同的顺序来lock the two mutexes, 即总是先于mutex B之前lock mutex A,这样就不会有死锁的可能。有时,这种方法很简单实用,当这些mutexes用于不同的目标。但是,当mutexes用于包含相同类的一个实例时,就不是那么容易了。
例如,如下面程序所...
分类:
编程语言 时间:
2014-08-09 18:47:19
阅读次数:
303
银行家算法:银行家算法是一种最有代表性的避免死锁的算法。又被称为“资源分配拒绝”法。银行家算法中的数据结构:(1)可利用资源向量Available。这是一个含有m个元素的数组,当中的每个元素代表一类可利用的资源数组,其初始值是系统中所配置的该类所有可用资源的数目,其数值随该类资源的分配和回...
分类:
其他好文 时间:
2014-07-10 00:22:48
阅读次数:
211
下面是摘自网络的一段话,我觉得很好;对认识锁很有帮助。
“为什么要加锁?加锁是为了防止不同的线程访问同一共享资源造成混乱。
打个比方:人是不同的线程,卫生间是共享资源。
你在上洗手间的时候肯定要把门锁上吧,这就是加锁,只要你在里面,这个卫生间就被锁了,只有你出来之后别人才能用。想象一下如果卫生间的门没有锁会是什么样?
什么是加锁粒度呢?所谓加锁粒度就是你要锁住的范围是多大。
比如你在家上...
分类:
其他好文 时间:
2014-06-29 23:50:07
阅读次数:
362
具有代表性的死锁避免算法是Dijskstra给出的银行家算法。本程序是基于银行家算法的思想通过编写C++程序实现银行家算法的计算机程序化,同时提供算法基本思想和流程图等说明,结果演示附图仅供参考。...
分类:
编程语言 时间:
2014-06-29 22:44:31
阅读次数:
356
银行家算法:
银行家算法是一种最有代表性的避免死锁的算法。又被称为“资源分配拒绝”法。
银行家算法中的数据结构:
(1)可利用资源向量Available。这是一个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数组,其初始值是系统中所配置的该类全部可用资源的数目,其数值随该类资源的分配和回收而动态地改变。
(2)最大需求矩阵Max。这是一个n*m的矩阵,它定义了系统中n个进程中的每...
分类:
其他好文 时间:
2014-06-22 06:17:14
阅读次数:
319
本章要点: 基础:进程描述及控制 策略:进程调度 实现:互斥与同步 避免:死锁与饥饿进程定义:
可并发执行的程序,在一个数据集合上的运行过程; 申请/拥有资源的最小单位; 程序定义:静态概念,是指令和数据的集合,可长期存储; 进程与程序对应关系:
一个程序可以对应一个进程或者多个进...
分类:
其他好文 时间:
2014-06-01 12:09:07
阅读次数:
210
在ios开发中,大家很可能会用到这样一个数据库封装:fmdb.
该封装相比coredata来说有他自己的优势:接口清晰,设计简单,符合规范,多线程情况下使用databasequeue来进行操作也很方便,还可以在其基础上再进行一些封装来方便项目的使用。
正是因为fmdb的简单性,所以很容易被误用。在我们的项目开发中就遇到了一例(我们项目中的代码进行了封装,我这里将其还原,写示例来作说明)...
分类:
数据库 时间:
2014-05-21 13:50:57
阅读次数:
358