Java 中死锁的程序案例

这个就是死锁的小程序案例 :小程序

 /**ide

 * 这个是练习死锁的小程序this

 * spa

 * @author YouGe线程

 * 对象

 */it

public class SisuoTest {class

 

public static void main(String arg[]) {程序

Thread t1 = new Thread(new Sisuoclass(true));//创建一个线程im

Thread t2 = new Thread(new Sisuoclass(false));//创建另外一个线程

t1.start();//启动一个线程

t2.start();//启动另外一个线程

}

 

}

 

/**

 * 线程的类

 * @author YouGe

 *

 */

class Sisuoclass implements Runnable {

public boolean falg;//控制线程

 

Sisuoclass(boolean falg) {

this.falg = falg;

}

public void run() {

/**

* 若是falg的值为true则调用t1线程

*/

if (falg) {

while (true) {

synchronized (Suo.OB1) {

System.out.println("if 我是OB1");

synchronized (Suo.OB2) {

System.out.println("if 我是OB2");

}

}

}

}

/**

* 若是falg的值为false则调用t2线程

*/

else {

while (true) {

synchronized (Suo.OB2) {

 

System.out.println("else  我是OB2");

synchronized (Suo.OB1) {

 

System.out.println("else 我是OB1");

 

}

}

}

 

}

}

 

}

 

/**

 * 用于锁的对象

 * @author YouGe

 *

 */

class Suo {

static Object OB1 = new Object();

static Object OB2 = new Object();

}

相关文章
相关标签/搜索