一。数据库以及线程发生死锁的原理及必要条件,以及如何避免死锁1. 产生死锁的原因主要有, (1)因为系统资源不足 (2)进程运行推进的顺序不合适 (3)资源分配不当2. 产生死锁的四个必要条件 (1)互斥条件:一个资源每次只能被一个进程使用 (2)请求与保持条件:一个进程因请求资源而阻塞时...
分类:
其他好文 时间:
2014-10-11 22:28:46
阅读次数:
273
上个月有幸去腾讯逛了一圈,面试一个职位,尽管没被录取可是过程整体来讲还是愉快的。面试过程中面试我的小朋友(看年龄大概在26,7岁)问了我一个关于秒杀的问题,他说腾讯游戏常常会有秒杀的活动,非常多次会导致server死锁或压力太大,应该怎样设计减轻数据库server压力。当然由于面试的是PHP职位,....
分类:
数据库 时间:
2014-10-10 20:41:34
阅读次数:
264
SQLOS 抽象出了: 1、任务高度管理子系统。 2、内存管理子系统。 3、错误,异常处理机制。 4、死锁侦测各解决机制。 5、运行第三方代码。好处: 1、减少线种的上下文切换。空闲连接不占用线程...
分类:
数据库 时间:
2014-10-08 16:44:15
阅读次数:
186
http://www.cnblogs.com/haippy/p/3252092.htmlhttp://www.cnblogs.com/lidabo/p/3024829.html
分类:
编程语言 时间:
2014-10-08 14:58:55
阅读次数:
201
搞多线程的经常会遇到死锁的问题,学习操作系统的时候会讲到死锁相关的东西,我们用python直观的演示一下。
死锁的一个原因是互斥锁。假设银行系统中,用户a试图转账100块给用户b,与此同时用户b试图转账200块给用户a,则可能产生死锁。
2个线程互相等待对方的锁,互相占用着资源不释放。
#coding=utf-8
import time
import threading
class Acco...
分类:
编程语言 时间:
2014-10-07 20:38:43
阅读次数:
172
package 线程安全的讨论;class DThread implements Runnable{ private Object o1=null; private Object o2=null; public DThread(Object o1,Object o2) { ...
分类:
编程语言 时间:
2014-10-07 00:07:01
阅读次数:
362
在数据库中打开死锁监测可以收集到数据库发生的死锁情况。打开的方式有2种:1 打开1222监控 执行SQL语句:Dbcc traceon(1222,-1);然后在系统日志里查看死锁的信息。2 启动SQL Profiler(建议使用): 下面就是一个发生死锁的实例图:下面提供对这个死锁分析思路,如有不当...
分类:
数据库 时间:
2014-10-03 23:17:45
阅读次数:
422
什么是死锁,如何避免死锁? 线程A需要资源X,而线程B需要资源Y,而双方都掌握有对方所要的资源,这种情况称为死锁(deadlock),或死亡拥抱(the deadly embrace)。在并发程序设计中,死锁 (deadlock) 是一种十分常见的逻辑错误。通过采用正确的编程方式,死锁的发生不难避免...
分类:
其他好文 时间:
2014-10-03 12:22:54
阅读次数:
223
1.下列哪个选项不是产生死锁的必要条件()A、互斥条件B、 网络不可达C、 不可剥夺资源D、环路等待E、 占有等待2.根据左侧给出的概念,在右侧写出其对应的OSI模型层的名称。设备、概念名称EIA\TIA RS-232、网卡物理层TCP、UDP传输层IP、ARP、OSPF网络层HTTP、DNS、FT...
分类:
其他好文 时间:
2014-10-02 20:56:33
阅读次数:
648
一、死锁是什么?举个例子:两个人一起吃饭,每个人都拿了一只筷子,双方都在等待对方将筷子让给自己,结果两个人都吃不了饭。这时候死锁就形成了。假设有两个线程,互相等待对方释放占有的锁,但是释放锁的条件又不可能形成,这时候死锁就形成了。还是买票的问题,有的时候时会发生死锁的,将以前的代码改动一下,将会产生...
分类:
编程语言 时间:
2014-10-02 18:14:33
阅读次数:
264