Javaパラレルアプリケーション

2068 ワード

久しぶりにブログを書いて、最近fourinoneのフレームワークを研究して、その啓発を受けて、並列の小さなアプリケーション、コードを書いて、添付ファイルの中で、下にアプリケーションコードを貼ります:

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のサブクラスで、結果を保存するために使用されています.議論を歓迎します.