Java多线程死锁的例子
来源:互联网 发布:九流社区卡密系统源码 编辑:程序博客网 时间:2024/05/12 15:39
- package com.damlab.fz;
- public class DeadLock {
- public static void main(String[] args) {
- Resource r1= new Resource();
- Resource r2= new Resource();
- //每个线程都拥有r1,r2两个对象
- Thread myTh1 = new MyThread1(r1,r2);
- Thread myTh2 = new MyThread2(r1,r2);
- myTh1.start();
- myTh2.start();
- }
- }
- class Resource{
- private int i;
- }
- class MyThread1 extends Thread{
- private Resource r1,r2;
- public MyThread1(Resource r1, Resource r2) {
- this.r1 = r1;
- this.r2 = r2;
- }
- @Override
- public void run() {
- while(true){
- //先获得r1的锁,再获得r2的锁
- synchronized (r1) {
- System.out.println("1号线程获取了r1的锁");
- synchronized (r2) {
- System.out.println("1号线程获取了r2的锁");
- }
- }
- }
- }
- }
- class MyThread2 extends Thread{
- private Resource r1,r2;
- public MyThread2(Resource r1, Resource r2) {
- this.r1 = r1;
- this.r2 = r2;
- }
- @Override
- public void run() {
- while(true){
- //先获得r2的锁,再获得r1的锁
- synchronized (r2) {
- System.out.println("2号线程获取了r2的锁");
- synchronized (r1) {
- System.out.println("2号线程获取了r1的锁");
- }
- }
- }
- }
- }
0 0
- Java多线程死锁的例子
- java多线程死锁例子
- java多线程发生死锁的一个例子
- java多线程之死锁的例子
- Java多线程探究-死锁例子
- 多线程造成死锁的例子
- java学习--多线程发生死锁的一个例子
- java死锁的例子
- Java 死锁的例子
- Java死锁的例子
- Java多线程的死锁
- 【Java多线程】之七:死锁例子
- Java多线程____线程死锁例子
- 多线程——死锁的例子
- 多线程死锁的一个简单例子
- java死锁的一个例子
- Java死锁的简单例子
- 多线程死锁例子
- 仿淘宝右侧tab栏切换
- Android安全机制之设备管理
- 算法杂货铺——分类算法之决策树(Decision tree)
- 学习笔记_android之Selector与Shape的基本用法
- 毕业找工作
- Java多线程死锁的例子
- 设置Qt应用程序图标及应用程序名
- ubuntu12.04LTS+Qt4.8.6+opencv2.4.9
- /gen already exists but is not a source folder. Convert to a source folder or rename it
- MySQL备份恢复(生产)
- GCC 提供的原子操作-__sync_fetch_and_add系列
- Java反射reflect学习笔记_3:反射类的方法
- nginx 负载均衡 win7 入门初体验
- MVP模式在Android中的应用之图片展示选择功能的框架设计