易截截图软件、单文件、免安装、纯绿色、仅160KB

java线程死锁例子

public class DealLockTest implements Runnable {
static String i = new String();
static String j = new String();
private String str = null;
public DealLockTest(String str) {
this.str = str;
}
public static void main(String[] args) {
new Thread(new DealLockTest("i")).start();
new Thread(new DealLockTest("j")).start();
}
public void run() {
if (str.equals("i")) {
synchronized (i) {
System.out.println(Thread.currentThread().getName()+":"+"i");
Thread.yield();
synchronized (j) {
System.out.println("i is over");
}
}
} else {
synchronized (j) {
System.out.println(Thread.currentThread().getName()+":"+"j");
Thread.yield();
synchronized (i) {
System.out.println("j is over");
}
}
}
}
}

线程何时发生死锁呢?
最简单的情况是当1个线程获得了资源A,当它再获得资源B时,就可以完成任务.而在它获得了A的时候
另一个线程获得了资源B,去抢资源A..此时,就发生了死锁
前提(共享资源(static),加锁(synchronized)).


相关文档:

Java中的类型转换


本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。
无论在C/C++还是在Java,强制类型转换已经不是陌生的概念了。但是要想全面掌握Java中类型转换的要点可不那么简单,本文将带领大家一同了解有关Java类型转换的所有要点。
数值类型的类型转换
众所周知,Java有两种数据类型:基本数据 ......

Java Network Game Programming

game
server responsibility:
Initialize
the server socke;

Wait
for a client to connect;

Accept
the client connection;

Create
a daemon thread to support the clien;

Go
back to step 2.

game daemon responsibility:
Accept
client player connection;

Pair ......

Java连接Oracle问题

Java执行stm.executeQuery(sql); 时总是提示:java.sql.SQLException: ORA-00911: 无效字符,弄了半天还是出错,无奈,拿出杀手锏,Google一下,晕倒,发现我的String  sql = “select detail from test.result where person_id = 4; ",貌似没错误吧,结果我我必须去掉最后分号,本来是想搞得专业点,就价加个分 ......

java类、抽象类、接口、继承和对象解析(转)

这不是什么教材,笔者有时会在论坛上瞧瞧,看到不少初学者问到很多问题,这些问题是java程序员应该懂得的,而一般书上不会讲到或者一笔带过的知识。因此斗胆涂鸦一篇文章,把想说的在这里一口气说完。这也是本人第一次写技术性的文章,文笔不畅之外,还请各位见谅。
首先讲清楚类和对象的区别。
类是广泛的概念,表示一个 ......

Java多线程编程中的Synchronized

Synchronized,顾名思义,代表多个线程之间的同步。那么,在java编程中如何使用它呢? 我们假设这样一个情况:对于同一个变量synDemo,我们分别在2个不同的线程中调用synDemo.synMethord1()与synDemo.synMethord2()。 package com.cnblogs.gpcuster;
/**
*
* @author Aaron.Guo
*
*/
public class Tester { ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号