zoukankan      html  css  js  c++  java
  • java 简单的进水放水

    class Shui implements Runnable{
         int a=0;
        @Override
        
        public void run() {
            synchronized (this) {
            while (true) {
            String str= Thread.currentThread().getName();
                    
                    if (str.equals("进水")) {
                        if (a>496) {
                            this.notify();
                            try {
                                this.wait();
                            } catch (InterruptedException e) {
                                // TODO Auto-generated catch block
                                
                                e.printStackTrace();
                            }
                            
                            
                        }
                        a+=5;
                        System.out.println("每秒进水5升水池还有"+a);
                        try {
                            Thread.sleep(100);
                        } catch (InterruptedException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                        
                    }
                    
                    if (str.equals("放水")) {
                        if (a<2) {
                            this.notify();
                            try {
                                this.wait();
                            } catch (InterruptedException e) {
                                // TODO Auto-generated catch block
                                
                                e.printStackTrace();
                            }
                            
                            
                        }
                        a-=2;
                        System.out.println("每秒放水2升水池还有"+a);
                        try {
                            Thread.sleep(100);
                        } catch (InterruptedException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                    
                    }
                    
                    
                    
                }
            }
            
        }
        
    }
    public class work1 {
        
        
        public static void main(String[] args) {
            Shui sss=new Shui();
              Thread t = new Thread(sss,"进水");
              Thread t1 = new Thread(sss,"放水");
              t.start();
              t1.start();
            
        }

    }

  • 相关阅读:
    使用Gson将对象类转成Json对象时出现u003d的问题
    spark 关联source
    FutureTask demo
    mybatis batchinsert
    spark-shell下有提示了,但是发现不能退格
    why big data
    MySQL buffer pool中的三种链
    MySQL 性能监控 4 大指标
    实战演示疑惑 mysql insert到底加什么锁
    MySQL锁(行锁、表锁、页锁、乐观锁、悲观锁等)
  • 原文地址:https://www.cnblogs.com/zzzhangzheng/p/6127998.html
Copyright © 2011-2022 走看看