Skip to content

开门大喜,特张贴昨日酸文一篇,以示庆祝!

我们宿舍的浴室的洗澡的算法(version 0.9B)

我们宿舍的浴室为了节约用电,于是决定用几个纸盒子外加一排金属挂钩

实现这个算法,其宗旨在于提高洗澡效率并节约用电。目前硬件已经到位,

关键就是配套软件了。所以我把浴室作为临界资源,用java的语法实现了

这个类,欢迎大家对此提出宝贵意见!//bow

class 浴室

{

   BathQueue   m_queue;            //洗澡队列,目前队列用金属挂钩实现,

                                   //队列节点用纸盒实现,人手一个纸盒

   Power       m_power;            //热水器电源

   procedure 洗澡申请(Person man)

   {

       m_queue.enqueue(man.token); //将自己的洗澡令牌挂在队列的队尾

       if (m_power.status = OFF)

           m_power.status = ON;

   }

   procedure 洗澡(Person man)

   {

       while(自己不是队首节点)

           man.wait;

       while(水没有热)

           man.wait(20min);

       m_queue.dequeue(man.token); //摘下队首自己的纸盒

       进浴室爽;

       if (m_queue.count = 0)

           m_power.status = OFF;

       else

           提醒下一个等待者洗澡;

   }

   procedure 检查浴室(Person man)  //洗澡等待者和所有旁观者都可执行

   {

       if (m_queue.count = 0)

           m_power.status = OFF;

       else if (man.waiting = true)

           if (notify (man前面所有的人) = 都不在宿舍)

           {

               m_queue.SetFirst(man);

               洗澡(man);

           }

   }

}

2 thoughts on “开门大喜,特张贴昨日酸文一篇,以示庆祝!

  1. Fivestone says:

    所有旁观者。。。。

    回复
  2. 透明的空气 says:

    我晕….

    回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注