class SaleTicket2 extends Thread {
static int num = 5000;// 票数,静态共享变量
static Object o = new Object();// 同步对象
public SaleTicket2(String name) {
// 获取名字
super(name);
}
// 重写run方法
// 同步函数
public void run() {
// 死循环
get();
}
public static synchronized void get() {
while (true) {
// 同步代码块
// synchronized (o) {
if (num > 0) {
num -= 1000;
System.out.println(Thread.currentThread().getName()
+ "取了1000还剩" + num);
try {
Thread.sleep(100);// 休眠100毫秒
} catch (Exception e) {
e.printStackTrace();
}
} else {
System.out.println("取光了");
break;// 跳出循环
}
// }
}
}
}
public class ThreadSecurity2 {
public static void main(String[] args) {
Thread t1 = new SaleTicket2("老公");
Thread t2 = new SaleTicket2("老婆");
t1.start();
t2.start();
}
}