『壹』 這是java多線程編程練習的兩道題目!!!求高手解決!!!拜託了!!!

packagecom.kevin2014.thread;

importjava.util.Random;

publicclassAtmosphereTest{

publicstaticvoidmain(String[]args){
Atmosphereatmosphere=newAtmosphere();
=newAtmosphereSensor(atmosphere);
Computercomputer=newComputer(atmosphereSensor);
newThread(atmosphereSensor).start();
newThread(computer).start();
}

}

/**
*感測器1.5秒/次讀取大氣信息
*
*@author795829
*
*/
{
privateAtmosphereatmosphere;

publicAtmosphereSensor(Atmosphereatmosphere){
this.atmosphere=atmosphere;
}

publicAtmospheregetAtmosphere(){
returnatmosphere;
}

publicvoidsetAtmosphere(Atmosphereatmosphere){
this.atmosphere=atmosphere;
}

@Override
publicvoidrun(){
try{
inti=1;
while(true){
Thread.sleep(500);
atmosphere.setHumidity(newRandom(System.currentTimeMillis()).nextFloat());
Thread.sleep(500);
atmosphere.setTemperature(newRandom(System.currentTimeMillis()).nextFloat());
Thread.sleep(500);
atmosphere.setWind(newRandom(System.currentTimeMillis()).nextFloat());
System.out.println("-----"+i+++"感測器數據溫度="+atmosphere.getTemperature()+",濕度="
+atmosphere.getHumidity()+",風速="+atmosphere.getWind());
}
}catch(Exceptione){
e.printStackTrace();
}
}

}

/**
*計算機2秒/次讀取感測器數據
*
*@author795829
*
*/
{

private;

publicComputer(){
this.atmosphereSensor=atmosphereSensor;
}

(){
returnatmosphereSensor;
}

publicvoidsetAtmosphereSensor(){
this.atmosphereSensor=atmosphereSensor;
}

@Override
publicvoidrun(){
try{
for(inti=1;i<=50;i++){
Thread.sleep(2000);
System.out.println(i+"計算機數據溫度="+atmosphereSensor.getAtmosphere().getTemperature()
+",濕度="+atmosphereSensor.getAtmosphere().getHumidity()+",風速="
+atmosphereSensor.getAtmosphere().getWind());
}
}catch(Exceptione){
e.printStackTrace();
}
}

}

classAtmosphere{
privatefloattemperature;
privatefloathumidity;
privatefloatwind;

publicfloatgetTemperature(){
returntemperature;
}

publicvoidsetTemperature(floattemperature){
this.temperature=temperature;
}

publicfloatgetHumidity(){
returnhumidity;
}

publicvoidsetHumidity(floathumidity){
this.humidity=humidity;
}

publicfloatgetWind(){
returnwind;
}

publicvoidsetWind(floatwind){
this.wind=wind;
}
}

『貳』 一道java多線程試題

是B,不要被答案給忽悠了

『叄』 簡單的JAVA多線程題

1, 如果 條件是a 的話,它返回的結果是不穩定的,不能給出准確的運行結果,因為雙回線程同時運作的話是一種搶答占試的運作,看CPU線程搶占的不同導致結果不同,
如果b 條件,因為使用了sleep() 在執行時候會執行相應的休眠,則會是結果確定唯一,,
如果c 不同優先順序的話,大腿都能想明白的事情,何必多說呢, :),
PS: 其實優先順序這個東東貌似不起很大的作用 :(,

2,。。。。