import java.util.*;
import java.awt.*;
import javax.swing.*;
public class CardBuffer //加互斥锁的缓冲区
{
private int value;
private boolean isEmpty=true; //value是否空的信号量
private int order=0; //信号量,约定取牌线程的次序
synchronized void put(int i)
{
while (!isEmpty) //当value不空时,等待
try
{
this.wait(); //等待
}
catch(InterruptedException e) {
}
value=i; //当value空时,value获得值
isEmpty=false; //设置value为不空状态
notifyAll(); //唤醒所有其他等待线程
}
synchronized int get(int order) //order是取牌线程约定的次序
{
while (isEmpty ||
Java多线程实现扑克牌发牌程序实例
最新推荐文章于 2021-02-27 14:01:04 发布