网购抢票,黄牛只能抢一张

package com.homework.shopticket;

public class Shop implements Runnable {
private String name;
//抢的票
private int num = 0;
//总票数
private int count = 10;
//记录是否买完
private boolean flag = false;

int k=1;

public Shop() {

}

public Shop(String name) {
this.name = name;
}
public synchronized void tickets() {
if (count <= 0) {
flag = true;
return;
}
//如果黄牛党抢票,就退出循环
/* if ((Thread.currentThread().getName().equals("黄牛党"))&&(k!=1)) {
k++;
return;
}
if (Thread.currentThread().getName().equals("黄牛党")) {
k++;
}*/



count--;
num++;
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}

// System.out.println("name"+Thread.currentThread().getName());
System.out.println(Thread.currentThread().getName() + "抢到了第" + num +
"张票,剩余" + count + "张票!");
}
@Override
public void run() {
while (!flag) {
tickets();
//如果黄牛党抢票,就退出循环
if (Thread.currentThread().getName().equals("黄牛党")) {
break;
}

}

}

}

*************************************************
package com.homework.shopticket;

public class Test {
public static void main(String[]args){
Shop shop=new Shop();
Thread th1=new Thread(shop,"桃跑跑");
Thread th2=new Thread(shop,"张票票");
Thread th3=new Thread(shop,"黄牛党");
th1.start();
th2.start();
th3.start();

}
}
posted @ 2020-11-17 18:36  张载zz  阅读(137)  评论(0编辑  收藏  举报