package com.aaa.thread.Test;
public class Test1 implements Runnable {
private int num=10;
private int count=0;
//必须使用start方法来进行run方法的运行
@Override
public void run() {
while (true){
if (!buy()){
break;
}
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
//synchronized 不同步的
public synchronized boolean buy(){
if (num<=0){
return false;
}
num--;
count++;
System.out.println(Thread.currentThread().getName() + "抢购到了衣服" + "还剩" + num + "件");
return true;
}
//单线程安全无比
public static void main(String[] args) {
Test1 t = new Test1();
Thread t1 = new Thread(t,"One");
Thread t2 = new Thread(t,"Two");
Thread t3 = new Thread(t,"Three");
Thread t4 = new Thread(t,"Four");
Thread t5 = new Thread(t,"Five");
t1.start();
t2.start();
t3.start();
t4.start();
t5.start();
}
}