JAVA プログラミング 入門

JAVAのプログラミングについて初歩から解説します。まずは、mainメソッド、変数、演算、if文、for文、while文、メソッド、配列など。続いて、メソッドを複数構成して、プログラムを作成(非オブジェクト指向プログラミング)、しばらく後になると思いますが、オブジェクト指向プログラミングを解説します。 クラスの構成、コンストラクター、継承、・・・、など、本格的OOP(Object Oriented Programming)を解説します。

Java: スレッド の応用(簡単な分散処理の真似事)

Java: スレッド の応用(簡単な分散処理の真似事)

1から100までの整数の合計をスレッドに分けして計算させ、手分けして計算した部分を合計することにより、総合計を求めるプログラムです。Thread1は1から32までThread2は33から67、Thread3は68から100までの合計をそれぞれ計算し、main で集計して表示する。

これらのスレッドの処理をネットワークにより別々のコンピュータに担わせると小さな分散コンピューティングになる.
Proo18_1.java

class CompThread extends Thread {
	private String name;
	private int start,end,result;
	CompThread(String n,int s, int e){
		name=n; start=s; end=e;
	}
	int getResult() {return result;}
	public void run() {
		int s=0;
		for(int i=start;i<=end;i++) s +=i;
		result=s;
	}
}
class Proo18_1 {
	public static void main(String args[]) {
		CompThread[] t = new CompThread[3];
		t[0]=new CompThread("thread0",1,32);
		t[1]=new CompThread("thread1",33,67);
		t[2]=new CompThread("thread2",68,100);
		for(int i=0;i<t.length;i++) t[i].start();
		try{
			for(int i=0;i<t.length;i++) {
				t[i].join();
			}
		}
		catch(InterruptedException e) {}
		int su=0;
		for (int i=0;i<t.length;i++){
			su+=t[i].getResult();
		}
		System.out.println("1 から 100 の和は "+su);
	}
}
/*
1 から 100 の和は 5050
*/				

JAVA PROGRAMMING 入門 TOP へ