把售票的方法提取出来,再加上synchronized关键字,执行的时候就不会出错了
@Override
public void run() {
shoupiao();
}
public synchronized void shoupiao(){
while(ticketCount>0){
ticketCount--;
System.out.println(Thread.currentThread().getName()+"卖出了1张票,剩余"+ticketCount+"张票");
}
@Override
public void run() {
shoupiao();
}
public synchronized void shoupiao(){
while(ticketCount>0){
ticketCount--;
System.out.println(Thread.currentThread().getName()+"卖出了1张票,剩余"+ticketCount+"张票");
}
2016-11-27
最新回答 / 小明100
Callable与 Future 两功能是Java在后续版本中为了适应多并法才加入的,Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其他线程执行的任务。Callable的接口定义如下;public interface Callable<V> { V call() throws Exception; } Callable和Runnable的区别如下:I Callable定义的方法是call,而Runnabl...
2016-11-26