PCCommon 生产者消费者公共类:
public class PCCommon {
private Queue<User> queue = new LinkedList<User>();
private Lock lock = new ReentrantLock();
private Condition condition = lock.newCondition();
//生产
public void productData(){
try{
lock.lock();
while(queue.size() == 1 ){
condition.await();
}
User user = new User();
Random random = new Random();
int ram = random.nextInt();
user.setUserid(ram);
user.setUsername("username:"+ram);
queue.add(user);
condition.signalAll();
}catch(InterruptedException e){
e.printStackTrace();
}finally{
lock.unlock();
}
}
//消费
public void consumerData(){
try{
lock.lock();
while(queue.size() == 0){
condition.await();
}
User user = queue.poll();
if(user != null){
System.out.println("userid:"+user.getUserid());
System.out.println("username:"+user.getU