当前位置: 首页 > news >正文

时网站建设公司管理深圳seo外包公司

时网站建设公司管理,深圳seo外包公司,网站建设公司上海,网站空间费价格目录 死锁 1. 死锁的概念 2. 死锁发生条件 互斥条件 不可剥夺条件 请求与保持条件 循环等待 3. 案例分析 示例 分析 死锁 1. 死锁的概念 Deadlock describes a situation where two or more threads are blocked forever, waiting for each other 死锁描述了一种情…

目录

死锁

1. 死锁的概念

2. 死锁发生条件

互斥条件

不可剥夺条件

请求与保持条件

循环等待

3. 案例分析

示例

分析


死锁

1. 死锁的概念

        Deadlock describes a situation where two or more threads are blocked forever, waiting for each other
        死锁描述了一种情况,其中两个或多个线程永远被阻塞,互相等待

2. 死锁发生条件

互斥条件
        线程要求对所分配的资源进行排他性控制,即在一段时间内某资源仅为一个线程所占有。此时若有其他线程请求该资源,则请求线程只能等待。
不可剥夺条件
        线程所获得的资源在未使用完毕之前,不能被其他线程强行夺走,即只能由获得该资源的线程自己来释放(只能是主动释放)。
请求与保持条件
        线程已经保持了至少一个资源,但又提出了新的资源请求,而该资源已被其他线程占有,此时请求线程被阻塞,但对自己已获得的资源保持不放。
循环等待
        存在一种线程资源的循环等待链,链中每一个线程已获得的资源同时被链中下一个线程所请求。

3. 案例分析

示例
public class DeadLockTest {public static void main(String[] args) {Object o1 = new Object();Object o2 = new Object();DeadLockTask task1 = new DeadLockTask(o1, o2, 0);DeadLockTask task2 = new DeadLockTask(o1, o2, 1);Thread t1 = new Thread(task1);Thread t2 = new Thread(task2);t1.start();t2.start();}static class DeadLockTask implements Runnable{private Object o1, o2;private int flag; //锁使用的条件public DeadLockTask(Object o1, Object o2, int flag) {this.o1 = o1;this.o2 = o2;this.flag = flag;}@Overridepublic void run() {String name = Thread.currentThread().getName();if(flag == 0){synchronized (o1){System.out.println(name + "锁定对象o1");try {Thread.sleep(500);} catch (InterruptedException e) {e.printStackTrace();}synchronized (o2){System.out.println(name + "锁定对象o2");}}} else {synchronized (o2){System.out.println(name + "锁定对象o2");try {Thread.sleep(500);} catch (InterruptedException e) {e.printStackTrace();}synchronized (o1){System.out.println(name + "锁定对象o1");}}}}}
}
分析
        线程t1 开始执行,首先会将持有对象 o1 的锁,然后开始睡眠 0.5 秒,此时,线程 t2 开始执行,首先会持 有对象o2 的锁,然后开始睡眠 0.5 秒。
        线程t1 睡眠结束,尝试获得对象 o2 的锁,此时发现对象 o2 已经被其他线程 t2 锁住,此时 t1 被阻塞在外,等待对象o2 上的锁释放。
        线程t2 睡眠结束,尝试获得对象 o1 的锁,此时发现对象 o1 已经被其他线程 t1 锁住,此时 t2 被阻塞在外,等待对象o1 上的锁释放。
http://www.yayakq.cn/news/411487/

相关文章:

  • 河南网站建设的详细策划公司做的网站怎么维护
  • 手机页面网站模板怎么卖邯郸鑫芭网络科技有限公司
  • 网站被攻击的方法石家庄房地产网站建设
  • python做视频网站合肥网站建设方案托管
  • 伊犁网站建设优化网站用软件好吗
  • 除尘环保设备网站模板现在的网站内容区域做多宽
  • 北京网站设计优刻seo优化视频教程
  • 香河家具城网站建设目标各大网站平台发布信息
  • 如何编辑网站织梦技校招生网网站模板整站源码
  • 南昌seo排名扣费南宁新站seo
  • 垂直类网站怎么做shopnc本地生活o2o网站源码
  • 福建整站优化Sierra wordpress
  • 类似优酷的网站开发wordpress免费企业主题下载
  • 海南医院网站建设静态网站 模板
  • 百度做网站的服务合同网站绝对布局
  • 怎么使用网站服务器怎样建淘宝客网站
  • 门户网站 cms域名建设网站
  • 搜题网站怎么制作html软件官方下载
  • 如何让搜素引擎不收录自己的网站平阳企业网站建设
  • 手机网站收录s001网站建设设计
  • 如何在微信上做广告seo网站关键词排名提升
  • 西安做网站一般多少钱十大营销策划公司排名
  • 文字直播网站怎么做的书签制作手工
  • 门户网站改版方案东莞wordpress
  • 中小型网站建设新闻深圳建设工程交易宝安
  • 做网站的html框架.net网站做增删改
  • 上海建设网站的公司沈阳市网站建设公司
  • 网站开发毕业设计说明书范文在线视频直播网站建设
  • 做网站需要缴什么费用网站建设论文总结
  • 网站做404好处苏州网站建设基础型