水池进水与放水问题(多线程应用)

package demo2;

class Pooll {

 /**1:有一个水池,水池的容量是固定 的500L,一边为进水口,一边为出水口.
     * 要求,进水与放水不能同时进行.
     水池一旦满了不能继续注水,一旦放空了,不可以继续放水. 进水的速度5L/s ,
       放水的速度2L/s  
     * @param args
     */

int capacity = 0;    
 }
        
 
 //进水
class Feedwater  extends Thread{

Pooll p;
 
  public Feedwater (Pooll p) {
      
         this.p = p;
   }
     
   @Override
   public void run() {
       
       while(true){
           
           synchronized (p) { // 任意类型的对象  ,锁对象应该是同一个对象  
               
              if((p.capacity + 5) <= 500){
                    
                  System.out.println("进水中,水池容量为:"+(p.capacity + 5));
                     
                  p.capacity += 5;
                  p.notify();
               }else{
                   
                  System.out.println("水池水满了");
                  try {
                         p.wait();
                         
                        } catch (InterruptedException e) {
                            
                        e.printStackTrace();
                       }
                }
            }
          }
       }
 }

 // 出水
class Outwater extends Thread{
 
     Pooll p;
 
    public Outwater(Pooll p) {
        
       this.p = p;
     }
    
 
public void run() {
        
      while(true){
          
        synchronized (p) { // 任意类型的对象  ,锁对象应该是同一个对象   
            
         if((p.capacity - 2) >= 0){
                  
             System.out.println("水池出水中,水池容量为:"+(p.capacity - 2));
                 
            p.capacity -= 2;
            p.notify();
            
        }else{    
                 
             System.out.println("水池没水了");
             try {
                
                  p.wait();
                  
                 } catch (InterruptedException e) {
                    
                 e.printStackTrace();
                 }
             }
         }
      }
    }
 }
 
 
 
 public class Pool {

public static void main(String[] args) {
        
        Pooll p = new Pooll();
        
        Feedwater  in = new Feedwater (p);
        
        Outwater out = new Outwater (p);
        
              in.start();
           out.start();
    }
 }

时间: 2024-08-26 02:52:38

水池进水与放水问题(多线程应用)的相关文章

水池进水和出水两个线程问题

问题描述: 有一个水池,水池的容量是固定 的500L,一边为进水口,一边为出水口.要求,进水与放水不能同时进行. 水池一旦满了不能继续注水,一旦放空了,不可以继续放水. 进水的速度5L/s , 放水的速度2L/s 这是一个多线程问题 1 /* 2 作业1:有一个水池,水池的容量是固定 的500L,一边为进水口,一边为出水口.要求,进水与放水不能同时进行. 3 水池一旦满了不能继续注水,一旦放空了,不可以继续放水. 进水的速度5L/s , 放水的速度2L/s 4 */ 5 6 class Pool

线程进水与出水问题实现

问题:有一个水池,水池的容量是固定 的20L,一边为进水口,一边为出水口.要求,进水与放水不能同时进行. 水池一旦满了不能继续注水,一旦放空了,不可以继续放水. 进水的速度5L/s , 放水的速度2L/s 分析:创建2个线程,一个进水,一个用于放水.这里以秒为单位,进水每次进5L,放水每次放2L 如果当前水量小于2L,则不能放水.如果当前水量大于15L,则不能加水. 具体实现如下: package com.dongbin.thread; //容量 class Water{ private dou

java 简单的进水放水

class Shui implements Runnable{     int a=0;    @Override        public void run() {        synchronized (this) {        while (true) {        String str= Thread.currentThread().getName();                                if (str.equals("进水")) {  

质问 SMT 团队, 脑袋进水了吗?

这么晚了(1点半了), 我还在这敲键盘. 我家老板带着女儿,今天的车票回娘家, 要在家办公, 昨天晚上说订单同步不了, 这TM真是急时雨啊! 前天(15号)晚上9点差不多, 我还在同步, 卵问题没有. 打开源码调试了一下, 说是 invalid signature , 无效的签名. 签名在 SMT 的 API 里总共就两地方使用: 1, 获取授权码, 即登陆后返回的授权码. 2, 调用 API 时, 要做为参数. 登陆/获取授权码, 获取 refresh_token 都没有任何问题. 检查了一圈

耳道进水易致外耳炎_耳朵进水滴点硼酸酒精

如果直接侧身入水,注意跳水的姿势,所以,会使耳朵直接受水拍击,2.并且动作稍微快一点.跳水要保证正面入水,鼓膜则容易裂开.穿孔. 耳朵入水滴点硼酸酒精 一般不会有问题.结果弄穿耳膜,陈锡辉认为,所以,只要控制用力不要太猛,令听力神经受损的情况.伸入别太深,针对曾有香港人用棉花棒吸水,你在操作时一定得温柔. 的人也不宜下水.把耳膜切开放置过塑料管 ●曾做过耳部手术, 而又有鼻塞症状的人,●一般游泳池水温与外界的温差都比较大,下水会使感冒加重,诱发中耳炎.患有严重感冒, 所有耳部疾病在治疗期间应避免

耳道进水易致外耳炎1耳朵进水滴点硼酸酒精

造成听力下降.1.否则泡涨后容易引起疼痛发炎,游泳前,把耳朵内的耵聍(耳屎)取出,甚至把耳道堵塞, 棉花纸巾不防水 症状病因 当然,防止水进入耳朵.你也可以选购游泳用耳塞,如果耳塞太硬,游泳中容易脱落.真有点困难.耳塞不是按照你的耳道设计的,但要找到合适的耳塞,同样会引起耳朵疼痛.所以使用起来并不方便.如果耳塞太小, 可以最大限度减少游泳对耳部伤害.稍微做些简单的准备工作,其实, 把耳膜切开放置过塑料管的人也不宜下水.●曾做过耳部手术, 如果不及时处理,而游泳池水含有大量细菌,游泳时很难避免耳朵

我的苹果5S进水了维修一下的话要多少钱啊(苹果认证)

为什么网上的价格差距这么大?为什么打电话问的商家报的价格都不一样?哪种几百块钱的屏幕(芯片)能相信吗?淘宝上面的屏幕(芯片)能相信吗?哪里能找到原装的屏幕呢?哪里的维修点才靠谱呢?北京中关村和深圳那边的维修市场能相信吗? 电子城报的二三百能相信吗?原装的配件和仿的价钱相差多少呢? 当您看到了这里,请您选择飞维智能科技有限责任公司(我们用最真挚的态度来为您服务) 我们在保证质量的前提下用最低的价格来为广大客户服务.我们的原则是(少花钱,买放心,保质量,求口碑) 工程师:罗飞报修热线:158 110

苹果爱疯5手机掉马桶了捞起来不开机还能用吗iPhone5进水开不开机维修主板要多少钱

http://tieba.baidu.com/p/2089457582(复制链接点击进入查看中关村黑心商家) 或者直接搜索百度贴吧[中关村]进入查看中关村黑心商家 中关村一直以低价吸引人,拆机之后,在以高价格卖出.你在电话里面询问价格,他会给你报100-200,你去了手机一拆,再给你说一个价格,你不修,最后有可能连主板都给你掉包. ========找好技术?上飞维科技有限责任公司. (飞维智能科技)自成立以来深受业界好评,服务好.--------电话里面的价格已优惠-------不二价-----

iPhone5s进水维修多少钱苹果5s进水了修一下多少钱国行5s进水了在保修期内更换新机多少钱

为什么网上的价格差距这么大?为什么打电话问的商家报的价格都不一样?哪种几百块钱的屏幕(芯片)能相信吗?淘宝上面的屏幕(芯片)能相信吗?哪里能找到原装的屏幕呢?哪里的维修点才靠谱呢?北京中关村和深圳那边的维修市场能相信吗? 电子城报的二三百能相信吗?原装的配件和仿的价钱相差多少呢? 当您看到了这里,请您选择飞维智能科技有限责任公司(我们用最真挚的态度来为您服务) 我们在保证质量的前提下用最低的价格来为广大客户服务.我们的原则是(少花钱,买放心,保质量,求口碑) 工程师:罗飞报修热线:158 110