- 浏览: 731532 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (419)
- 杂软粉墨 (2)
- 创意灵感 (3)
- 经验记录 (137)
- 开源轨迹 (2)
- sip-communicator (2)
- 闲侃杂谈 (8)
- 问题交流 (24)
- 概念模式 (32)
- 难点备案 (5)
- JwChat (1)
- 中国象棋 (1)
- 教育探索 (6)
- 英语研究 (58)
- 星际争霸 (1)
- 电信知识 (1)
- 软件架构 (3)
- 哲学探索 (26)
- 算法灵魂 (8)
- 近视探索 (6)
- 数学数学 (3)
- 牛角钻尖 (23)
- 至强文言 (3)
- 数据结构 (1)
- 宇宙物理 (2)
- 网络架构 (3)
- 游戏领域 (4)
- 图形处理 (2)
- 修炼之路 (8)
- 读书天地 (20)
- 编解乱码 (2)
- 概念探索 (8)
- 格物致知 (1)
- 其它语言 (1)
- 测试领域 (3)
- 文化风流 (1)
- JQuery (1)
- 網頁領域 (1)
- Unix/Linux (1)
- Inside JVM (1)
- 异常分析 (1)
最新评论
-
suyujie:
引用
HTML <a> 标签灰显禁用 -
suyujie:
HTML <a> 标签灰显禁用 -
suyujie:
HTML <a> 标签灰显禁用 -
suyujie:
HTML <a> 标签灰显禁用 -
iamzhoug37:
您能说一下"局部变量不受文本顺序限制" 是 ...
声明前为什么能赋值却不能输出,都是使用
public class Deadlock { 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) { 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(); } }
Deadlock describes a situation where two or more threads are blocked forever, waiting for each other. Here's an example.
Alphonse and Gaston are friends, and great believers in courtesy. A
strict rule of courtesy is that when you bow to a friend, you must
remain bowed until your friend has a chance to return the bow.
Unfortunately, this rule does not account for the possibility that two
friends might bow to each other at the same time. This example
application,
,
models this possibility:
Deadlock
http://java.sun.com/docs/books/tutorial/essential/concurrency/deadlock.html
礼仪的做法是你向对方鞠躬之后,你必须保持鞠躬姿势直到对方有机会向你回鞠躬
看打印描述,貌似
a.bow(b): 是b向a鞠躬
b.bowBack(a): 是a向b回鞠躬
我觉得更直观理解应该是:
a.bow(b): 是a向b鞠躬
b.bowBack(a): 是b向a回鞠躬
发表评论
-
RuntimeException为啥不用声明抛出?
2012-11-13 15:04 7411异常,错误都是同一种父类:java.lang.Throwabl ... -
why null is allocated on java stack
2012-06-05 11:45 1158提问: 恩。。。俺的意思是, String str = n ... -
关于Java 泛型 ?extends T 的问题
2012-05-21 11:05 4306http://topic.csdn.net/u/2012051 ... -
HashSet的contains方法de解释是不是有问题
2011-02-20 22:27 3233first of all, exhibits the code ... -
hashcode中选择31因子的原因
2010-12-24 13:57 1456源自<<effective java 2nd> ... -
为什么AnonymousInnerClass只能访问final型非同一方法局部变量
2010-09-13 09:39 1415import java.io.IOException; im ... -
URLConnection访问servlet无反应
2010-07-26 09:28 2647这样完整的回路是ok的 客户端 import jav ... -
This is how scientists see the world
2010-07-14 15:36 964有些东西不清楚,比如右上角什么东东,中间那个看似压强C, ... -
接口能描述成has-a吗
2010-07-10 10:19 1307接口has a什么呢? 如果说接口当作具备某种能力来用,比如X ... -
关于java.util.ResourceBundle
2010-07-05 14:17 4322import java.util.ResourceBundle ... -
ArrayList,Vector线程安全性测试
2010-06-18 09:43 3180import java.util.ArrayList; im ... -
SortedSet去重
2010-06-13 17:06 1299import java.util.Iterator; imp ... -
这个静态内部类实现的单例是迟加载且线程安全的吗?
2010-05-28 13:10 1614public class JiveProperties { ... -
double-checked locking实现的单例模式之volatile
2010-05-26 17:23 3467private volatile static Singlet ... -
java中Adapter是什么概念
2010-04-06 11:30 4894Adapter乃适配器, ... -
编码转换会丢失信息吗
2010-03-09 13:13 1211编码转换会丢失信息吗? 这是个命题,根 ... -
文本文件在系统中的存储与展现方式
2010-02-04 09:38 1097碰到了一个问题,同样的一个properties ... -
servlet如何实现多线程访问同一个实例的多个service方法
2009-12-09 11:22 1597如题,这是我现在想的一个问题,暂存于此,它同一个方法的 ... -
构造方法是静态的吗?
2009-12-03 15:13 1400public class Test { private ... -
关于JTextPane读取RTF多出一行的问题
2009-11-11 11:20 2420代码如下: import java.io.FileInput ...
相关推荐
描述数据库死锁的解决方法和预防措施,对于新人学习Oracle有很好的帮助
死锁是进程并发执行过程中可能出现的现象,哲学家就餐问题是描述死锁的经典例子。假设有几位哲学家围坐在一张餐桌旁,桌上有吃不尽的食品,每两位哲学家之间摆放着一根筷子,筷子的个数与哲学家的数量相等,每一位...
写一个死锁的例子案例一:必然发生死锁案例二:两个账户转账案例三:多人多次转账发生死锁必须满足哪些条件如何定位死锁有哪些解决死锁问题的策略?线上发生死锁怎么办常见修复策略哲学家就餐问题问题描述代码演示...
对该问题的剖析有助于学生深刻地理解计算机系统中的资源共享、进程同步机制、死锁等问题,并能熟练地将该问题的解决思想应用于生活中的控制流程。 本文提出了解决哲学家进餐问题的思路,使用信号量机制和管程机制来...
VHDL设计简单例程100例,简单入门VHDL语言100例 第1例 带控制端口的加法器 第2例 无控制端口的加法器 第3例 乘法器 第4例 比较器 第5例 二路选择器 第6例 寄存器 ...第39例 生成语句描述规则结构 第4
带控制端口的加法器进程死锁 第55例 地址计数器 第56例 指令预读计数器 第78例ccAm2901四位微处理器的ALU输入 第79例ccAm2901四位微处理器的ALU 第80例ccAm2901四位微处理器的RAM 第99例 多周期指令的描述 第100例 ...
它描述了五个哲学家坐在圆桌旁,每个哲学家都可以拿起左右两边的筷子,但是拿起筷子的顺序不同,可能会导致死锁的情况。 在多线程编程中,哲学家进餐问题可以用来描述多个线程之间的同步问题。当多个线程需要访问...
要解决多线程问题,主要是对sqlite3的锁机制进行了解,和事务有密切的关系。本次更新的版本在开始事务时,增加了一个 事务锁状态 的参数。 拿简单的话来描述就是 开始事务 时如果 设置了 事务锁状态_ 立即 参数,...
2. 用高级语言编写和调试一个银行家算法程序,以加深对死锁的理解。 【实验准备】 1. 产生死锁的原因 竞争资源引起的死锁 进程推进顺序不当引起死锁 2.产生死锁的必要条件 互斥条件 请求和保持条件 ...
100vhdl例子 VHDL 编程要注意问题.doc VHDL——按键消抖.doc VHDL电路简化.doc VHDL编程心得体会.pdf vhd开发的官方手册.pdf 第1例 带控制端口的加法器 第2例 无控制端口的加法器 第3例 乘法器 第4例 比较器 第5例 ...
这一部分研究了这些多处理机给操作系统带来的问题,比如竞争条件上、死锁以及存储器操作的次序,而且考察了如何对UNIX内核进行调整使之适于在这样的系统上运行。本书最后一部分考察了高速缓存存储系统和多处理机之间...
包含例子及相关代码 银行家算法 一,实验目的 1,掌握银行家安全性算法和资源请求算法的原理 2,掌握银行家算法的实现方法 二,基本概念 在银行中,客户申请贷款的数量是有限的,每个客户在第一次申请贷款时要声明...
状态机是自动机的一种类型,自动机的例子是售货机,当投人一元硬币并揿动按钮,即可...这不仅对状态机的建模是有用的,也可用于研究所描述的系统的某些特性,其目的在于查明在操作时可能发生的死锁并保证对指令的处理
要解决多线程问题,主要是对sqlite3的锁机制进行了解,和事务有密切的关系。本次更新的版本在开始事务时,增加了一个 事务锁状态 的参数。拿简单的话来描述就是 开始事务 时如果。设置了 事务锁状态_ 立即 参数,...
应用篇以DP-51单片综合仿真实验仪为硬件平台,通过对单片机常用和热门外围器件实用驱动程序的分析,详细介绍基于Small RTOS51的编程方法,以及如何为这些外围器件编写中间件,并给出一个完整的例子,让读者全面掌握...
计算机组成与系统结 构计算机组成与系统结构 第二次作业的答案
软件测试规范 目 录 一.概述 ...............................................................................................................................................................
使用DelphiConcurrent可以检测到DEADLOCK并自动将其跳过-在发生之前-程序员有一个描述多线程问题的显式异常,而不是阻塞了DEADLOCK,该DEADLOCK冻结了没有输出日志的应用程序(如果链接的客户端会话也可能冻结该...
在多线程场景下,可能会出现数据的不一致性问题、死锁问题、饥饿问题等。解决这些问题可以使用互斥锁、条件变量、信号量等同步机制。 12. 既然你说到了信号量和互斥锁,举俩个例子说明一下应用场景: 信号量可以...