クラスAとクラスBがあるとします。クラスAには、次のコードを持つmainメソッドがあります。
public class A{
public static void main(String[] args){
String xput = "";
ExecutorService pool = Executors.newFixedThreadPool(4);
for(int i = 1; i < number; i++){
pool.submit(new B(list.get(i-1)));
xput = B.returnValue;
System.out.println(xput);//testing purposes
}
}
}
クラスBはThreadを拡張し、次のようになります。
public class B extends Thread{
static String returnValue = "";
public B(String x){
super(x);
}
public void run(){
double x = 20;
returnValue += "Grand total: " +
NumberFormat.getCurrencyInstance().format(x) + "\n";
}
}
ただしSystem.out.println(xput)
、空の行以外は何も出力しません。誰もが理由を知っていますか?私のクラスには明らかにこれよりもはるかに多くのコードがありますが、出力が得られないため、小さなケースから始めています。