要简单易懂的。

解决方案 »

  1.   

    public class  TestPressure
    {
    static int pressureGuage = 0;
    final static int safetyLimit = 40; public static void main(String[] args) 
    {
    TestPressure testpressure = new TestPressure();
    Pressure[] p =  new Pressure[10];
    for(int i=0;i<10;i++){
    p[i] = new Pressure(testpressure);
    p[i].start();
    }
    try{
    for(int i=0;i<10;i++){
    p[i].join();
    }
    }catch(Exception e){
    }

    System.out.println("pressureGuage is:"+pressureGuage+" pressure limit is:"+safetyLimit);
    }
    }class Pressure extends Thread
    {
    private static Object obj = new Object();
    private TestPressure testpressure;
    public Pressure(TestPressure testpressure){
    this.testpressure = testpressure;
    }

    public void raisePressure(){
    synchronized(obj){ 
    if(TestPressure.pressureGuage<(TestPressure.safetyLimit-15)){
    try{
    sleep(1000);
    }catch(Exception e){
    }
    TestPressure.pressureGuage += 15;
    }else{
    }
    }
    } public void run(){
    raisePressure();
    }
    }