java-写一个死锁的案例
来源:互联网 发布:数据分析网站 编辑:程序博客网 时间:2024/05/22 04:49
死锁:线程A持有一个对象a1的互斥锁,又试图获取另外一个对象b1的互斥锁,而线程B正好持有对象a1的互斥锁,并且试图获取对象b1的互斥锁,2个线程相互等待对方的资源而又互相不作出让步。
<span style="font-size:14px;">package com.test;/** * 死锁测试 * @author mooner * */public class DeadThreadLock {public static void main(String[] args) {String s1 = "a";String s2 = "b";ThreadLock t1 = new ThreadLock(s1,s2); //持有"a"的互斥锁,尝试获取"b"的互斥锁t1.start();ThreadLock t2 = new ThreadLock(s2,s1); //持有"b"的互斥锁,尝试获取"a"的互斥锁t2.start();}}/** * 死锁多线程 * @author mooner * */class ThreadLock extends Thread{private String s1;private String s2;public ThreadLock(){}public ThreadLock(String s1,String s2){this.s1 = s1;this.s2 = s2;}public void run(){synchronized(s1){ //获取s1对象的互斥锁System.out.println(Thread.currentThread().getName() +"持有对象 "+s1+" 的锁");try {Thread.sleep(4000); //睡眠4s钟,好在获取s2对象的互斥锁前,另外一个线程开始运行} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println(Thread.currentThread().getName() +"尝试获取 "+s2+" 的锁");synchronized(s2){ //获取s2对象的互斥锁子}}}}</span>
0 0
- java-写一个死锁的案例
- java写一个死锁
- java写的一个死锁例子
- java写一个死锁的简单例子
- Java写一个简单的死锁程序
- 如何写一个死锁的java程序
- 写一个java死锁的demo
- java自己动手写一个死锁
- java中死锁的案例
- Java多线程:实现一个死锁案例
- 《Java面试试题》写一个两个线程之间的死锁
- java怎么编程写一个能导致死锁的程序
- 如何用java写一个死锁的程序
- 【面试】请写一个java死锁的例子
- java写一个会导致死锁的程序
- java中如何写一个死锁例子
- 写一个生活中常见的死锁
- java死锁案例
- Oracle用户数据字典以及查询表字段
- firefox 全平台,同步书签
- Oracle数据类型对应的Java类型
- jsp通过选中radio进入不同的form.action
- js完美的div拖拽实例代码
- java-写一个死锁的案例
- Python3标准库(一) 内置函数
- C#重命名文件名
- 巧用dimens适配多个分辨率
- 我的多年编程经验总结(转)
- cocos2dx shader -- Vol.1(灰度、流光、百叶窗)
- Qt布局管理器的使用(一)
- java 零宽断言
- uva 10905(排序)