java的一些程序!
来源:互联网 发布:淘宝领优惠券的网站 编辑:程序博客网 时间:2024/06/08 07:17
1,关于死锁的理解
死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。
2,模拟死锁
背景介绍:我们创建一个朋友类,当朋友向我们鞠躬的时候,我们也要向朋友鞠躬,这样才算一个完整的动作。当两人
同时鞠躬的时候,都在等待对方鞠躬。这时就造成了死锁。
模拟程序:
package com.yxy.thread;
/**
* @author windows
* 死锁模拟程序
*/
public class Deadlock {
/**
* @author windows
* 朋友实体类
*/
static class Friend {
//朋友名字
private final String name;
//朋友实体类型的构造方法
public Friend(String name) {
this.name = name;
}
//获取名字
public String getName() {
return this.name;
}
//朋友向我鞠躬方法,(同步的)
public synchronized void bow(Friend bower) {
System.out.format("%s: %s"
+ " has bowed to me!%n",
this.name, bower.getName());
bower.bowBack(this);
}
//我回敬鞠躬方法,(同步的)
public synchronized void bowBack(Friend bower) {
System.out.format("%s: %s"
+ " has bowed back to me!%n",
this.name, bower.getName());
}
}
public static void main(String[] args) {
//死锁模拟程序测试开始
//创建两个友人alphonse,Gaston
final Friend alphonse =
new Friend("Alphonse");
final Friend gaston =
new Friend("Gaston");
//启动两位友人鞠躬的线程。
new Thread(new Runnable() {
public void run() { alphonse.bow(gaston); }
})。start();
new Thread(new Runnable() {
public void run() { gaston.bow(alphonse); }
})。start();
}
}
- java的一些程序!
- 一些简单的Java程序
- java的一些小程序!
- java程序编写的一些建议...
- 一些入门的java小程序
- Java 程序优化的一些最佳实践
- Java 程序优化的一些最佳实践
- Java程序优化的一些最佳实践
- Java程序优化的一些最佳实践
- Java程序优化的一些最佳实践
- Java程序优化的一些最佳实践
- Java程序优化的一些最佳实践
- Java程序优化的一些最佳实践
- Java程序优化的一些最佳实践
- Java程序优化的一些最佳实践
- Java程序优化的一些最佳实践
- Java程序优化的一些最佳实践
- Java程序优化的一些最佳实践
- Binary Tree Level Order Traversal II
- C++程序设计
- 以太网端口技术(2)
- 最大连续子序列相乘
- 骨骼蒙皮动画(Skinned Mesh)的原理解析
- java的一些程序!
- gdb 多线程调试
- hdu 3452 最小割 树形dp
- Hibernate内置的
- 处理java.lang.IllegalMonitorStateException
- 贝叶斯统计
- java的一些情节!
- 今天学习编写DTD文件
- Python中的格式化字符串