线程作业5-3

线程作业5-3

package com.imooc.test;


import com.imooc.thread.GenerateWeather;
import com.imooc.thread.ReadWeather;
import com.imooc.thread.Weather;

public class WeatherTest {
              public static void main(String[] args) {
            		Weather bank=new Weather();
            		//创建线程对象
            		GenerateWeather a=new GenerateWeather();//实例化线程
            		ReadWeather b=new ReadWeather();//实例化线程
            		
            		Thread save=new Thread(a);
            		Thread draw=new Thread(b);
            		
            		draw.start();
            		save.start();;
            		try {
            			save.join();
            			draw.join();
            			
            		} catch (InterruptedException e) {
            			// TODO Auto-generated catch block
            			e.printStackTrace();
            		}
            	
			}

			
			
}

package com.imooc.thread;

public class GenerateWeather extends Weather implements Runnable{
	
        public Weather wea=new Weather();//实例化Weather对象
       
        public void run(){
     /* 	try {
				Thread.sleep(5000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}*/
        	
        	wea.generate();//调用generate方法
        }

		
}
package com.imooc.thread;
public class ReadWeather extends Weather implements Runnable{
	
    public Weather wea=new Weather();//实例化Weather对象
   
    public void run(){
    	
      	/*try {
			Thread.sleep(1000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}*/
    	wea.read();//调用read方法
    }

	
}

package com.imooc.thread;

import java.util.Random;

public class Weather {
	
            private static int tempureture;//表示温度
            private static int hunidity;//表示湿度
            
            public Weather(){
            	
            }
            
            public Weather(int tempureture,int hunidity){//
            	this.setHunidity(hunidity);
            	this.setTempureture(tempureture);
            }

			public int getTempureture() {
				return tempureture;
			}

			public void setTempureture(int tempureture) {
				this.tempureture = tempureture;
			}

			public int getHunidity() {
				return hunidity;
			}

			public void setHunidity(int hunidity) {
				this.hunidity = hunidity;
			}
            
            public synchronized void generate(){
            	for(int i=0;i<100;i++){
	            	tempureture=((int)(1+Math.random()*100));//使用random获取随机数
	            	hunidity=((int)(1+Math.random()*100));//使用random获取随机数
	            	System.out.println("生成天气数据[温度:"+getTempureture()+",湿度"+getHunidity()+"]");
            	}
            }
            
            public void read(){
            	
            	for(int i=0;i<100;i++){
            	System.out.println("读取天气数据[温度:"+getTempureture()+",湿度"+getHunidity()+"]");
            	}
           }
      
 这样有一部分可以同步,一部分不能同步,而且加入sleep后就完全不能同步了。

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你好!你的作业已经批复了,请查看作业批复文档,里面有对你的作业的详细批复。祝学习愉快!

队长给我球 2017-02-21 14:19:31

搞不懂你 线程的天气读写类去继承 weather 类做什么 

  • 提问者 瞳劫 #1
    我是渣渣(捂脸)
    2017-02-21 15:28:21
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师