本帖最后由 追逐 于 2014-3-21 19:35 编辑
/*
写一个死锁
也就是同步嵌套同步
*/
- class SiSuo implements Runnable {
-
- //定义一个标签
- private boolean b;
- SiSuo(boolean b) {
- this.b = b;
- }
- public void run() {
- if(b == true) {
- while(true) {
- synchronized(Suo.obj1) {
- System.out.println("if suoOne");
- synchronized(Suo.obj2) {
- System.out.println("if suoTwo");
- }
- }
- }
- } else {
- while(true) {
- synchronized(Suo.obj2) {
- System.out.println("else suoTwo");
- synchronized(Suo.obj1) {
- System.out.println("else suoOne");
- }
- }
- }
- }
- }
-
- }
- //写一个锁类
- class Suo {
- static Object obj1 = new Object();
- static Object obj2 = new Object();
- }
- class SiSuoTest {
- public static void main(String[] args) {
- Thread t1 = new Thread(new SiSuo(true)); //创建两个线程
- Thread t2 = new Thread(new SiSuo(false));
- t1.start(); //开启线程
- t2.start();
- }
- }
复制代码
|
|