e.printStackTrace();
}
System.out.println(“票数:”+ticket--);
}
}
}
}
Public class TestDemo{
MyThread mt = new MyThread();
Thread t1 = new Thread(mt);
Thread t2 = new Thread(mt);
Thread t3 = new Thread(mt);
t1.start();
t2.start();
t3.start();
}
如何进行线程同步
解决资源共享的同步操作问题,有两种方式:
1,同步代码块:
synchronized(同步对象){
// 需要同步的代码;
}
同步的时候必须指明同步的对象,一般情况下会将当前对象作为同步对象,用this变量引用。
2,同步方法:
除了可以将需要的代码进行同步之外,也可以将一个方法声明为同步方法。
同步方法定义格式:
syschronized 方法返回类型 方法名(参数列表){
//方法体
}
线程死锁
资源共享时需要进行同步操作。
程序中过多的同步可能产生死锁