问题描述
- 用runnable接口出现一部分资源不共享的 ticket10在第一次出现了两次
-
个人感觉有可能是sleep影响的 取消try catch语句就没错了 这个程序平均几次会出现重复ticket0 为什么会这样呢?
解决方案
这和try catch没关系。
你这个是因为System.out.println没有设置同步的问题,也就是线程安全问题
可以把输出语句写到独立方法
synchronized private void out(){
System.out.println("卖票:ticket"+this.ticket--);
}
这样应该就不会有问题了
时间: 2024-10-31 05:23:08