你的代码没有问题,我调试正确,代码稍微改下就直观了
- class SaleTickets1 implements Runnable{
- private static int num = 100;
- public void run() {
- while (num>0){
-
- sellTicket();
- try {
- Thread.sleep(10); //加入代码
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
复制代码
输出:
- no.1窗口卖出一张,剩余99张by同步方法
- no.3窗口卖出一张,剩余98张by同步方法
- no.2窗口卖出一张,剩余97张by同步方法
- no.3窗口卖出一张,剩余96张by同步方法
- no.1窗口卖出一张,剩余95张by同步方法
- no.3窗口卖出一张,剩余94张by同步方法
- no.2窗口卖出一张,剩余93张by同步方法
- no.3窗口卖出一张,剩余92张by同步方法
- no.1窗口卖出一张,剩余91张by同步方法
- no.3窗口卖出一张,剩余90张by同步方法
- no.2窗口卖出一张,剩余89张by同步方法
- no.3窗口卖出一张,剩余88张by同步方法
- no.1窗口卖出一张,剩余87张by同步方法
- no.3窗口卖出一张,剩余86张by同步方法
- //下面省略
复制代码
|