Javaパラレルアプリケーション
2068 ワード
久しぶりにブログを書いて、最近fourinoneのフレームワークを研究して、その啓発を受けて、並列の小さなアプリケーション、コードを書いて、添付ファイルの中で、下にアプリケーションコードを貼ります:
このjarパッケージを使用するには、ユーザーがカスタマイズしたクラスがCtorクラスを継承する必要があります.同時にdoTaskBatch()メソッドのパラメータはクラスの名前であるべきです.ここではTestです.次に、ユーザーがpublic static WareHouse taskn()メソッドを書けばいいです.いくつかの同時タスクがあります.合格taskメソッドを書きます.注意してください.メソッドはstaticであるべきです.そして、必ずtask 0からtask 1,task 2と書きます.このうちWareHouseはHashMapのサブクラスで、結果を保存するために使用されています.議論を歓迎します.
public class Test extends Ctor
{
public static void main(String [] args)
{
WareHouse wh[]=doTaskBatch("Test");
double pi=0.0;
for(int i=0;i<wh.length;i++)
pi+=Double.parseDouble(wh[i].get("pi").toString());
System.out.println("pi="+pi);
}
public static WareHouse task0()
{
WareHouse wh=new WareHouse();
double m=1.0;
double n=250000000.0;
double pi=0.0;
for(double i=m;i<n;i++)
{
pi+=Math.pow(-1,i+1)/(2*i-1);
}
wh.put("pi",4*pi);
return wh;
}
public static WareHouse task1()
{
WareHouse wh=new WareHouse();
double m=250000000.0;
double n=500000000.0;
double pi=0.0;
for(double i=m;i<n;i++)
{
pi+=Math.pow(-1,i+1)/(2*i-1);
}
wh.put("pi",4*pi);
return wh;
}
public static WareHouse task2()
{
WareHouse wh=new WareHouse();
double m=500000000.0;
double n=750000000.0;
double pi=0.0;
for(double i=m;i<n;i++)
{
pi+=Math.pow(-1,i+1)/(2*i-1);
}
wh.put("pi",4*pi);
return wh;
}
public static WareHouse task3()
{
WareHouse wh=new WareHouse();
double m=750000000.0;
double n=1000000000.0;
double pi=0.0;
for(double i=m;i<n;i++)
{
pi+=Math.pow(-1,i+1)/(2*i-1);
}
wh.put("pi",4*pi);
return wh;
}
}
このjarパッケージを使用するには、ユーザーがカスタマイズしたクラスがCtorクラスを継承する必要があります.同時にdoTaskBatch()メソッドのパラメータはクラスの名前であるべきです.ここではTestです.次に、ユーザーがpublic static WareHouse taskn()メソッドを書けばいいです.いくつかの同時タスクがあります.合格taskメソッドを書きます.注意してください.メソッドはstaticであるべきです.そして、必ずtask 0からtask 1,task 2と書きます.このうちWareHouseはHashMapのサブクラスで、結果を保存するために使用されています.議論を歓迎します.