Rad sa nitima množenje matrica 1 dio/ Matrix multiplication using multiple threads

package matrice; /** * Ovo je klasa koja implementira nit koja sluzi za mnozenje dvije matrice * C = A x B. * Buduci da je mnozenje matrica tako receno nezavisno jer se svaki clan matrice * rezultujuce dobija kao umnozak reda jedne matrice i kolone druge matrice, sto * je odredjeno indexom clana koji se trazi. Tako je moguce konstruirati niti * koje ce zasebno da vrse ta mnozenja. * @author Amel Dzanic */ public class nitMatrice extends Thread{ int a[],b[]; private int rez; private int i,j; /** * Konstruktor koji ima sljedece argumente * @param a elementi koji su u i - tom redu matrice A * @param b elementi koji su u j - ot koloni matrice B * @param i index reda elementa koji se racuna * @param j index kolone elementa koji se racuna */ public nitMatrice(int[]a,int[]b,int i,int j){ this.a=a; this.b=b; this.i=i; this.j=j; this.start(); } /** * Metoda run je osnovna za pokretanje niti i tu je smjesteno mnozenje * svakog elementa kolone sa svojim "parnjakom" iz kolone druge matrice * Kada se svi elementi izmnoze dobili smo trazeni element matrice C. */ @Override public void run(){ int rez1=0; for(int k=0;k<a.length;k++) rez1+=a[k]*b[k]; setRez(rez1); System.out.println(Thread.currentThread()+ " Pozicija ["+getI()+","+getJ()+"]= " + rez1); } public int getRez() { return rez; } public void setRez(int rez) { this.rez = rez; } public int getI() {return i;} public int getJ() {return j;} }
Ovo je klasa koja implementira nit koja sluzi za mnozenje dvije matrice C = A x B. Buduci da je mnozenje matrica tako receno nezavisno jer se svaki clan matrice rezultujuce dobija kao umnozak reda jedne matrice i kolone druge matrice, sto je odredjeno indexom clana koji se trazi. Tako je moguce konstruirati niti koje ce zasebno da vrse ta mnozenja.

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.