Java多线程实现扑克牌发牌程序实例

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 ||

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值