import java.io.*;import java.math.*;class Watek extends Thread { public double wynik; public Watek(String str, int numer) { //Przechwycenie nazwy watku super(str); } //metoda run stanowi cialo watka, jest to glowne miejsce wykonywania sie programu //wszystko co jest zawarte w metodzie run jest zadaniem, jakie watek ma przetworzyc public void run(int a,int b) { //zadanie jakie ma wykonywac watek //w tym wypadku jest to obliczanie calki metoda trapezow wynik=(b-a)*f(b); } //funkcja jaka przekazujemy do calki public double f(int x) { return 2*Math.pow(x,3); }}//klasa calkipublic class Calka{ public static void main(String[] args) throws Exception { //stala odpowiedzialna za ilosc watkow, jakie uruchamiamy //w tym wypadku jest to ilosc przedzialow na jaka dzielimy funkcje //w danym zakresie int ilosc_watkow=4; //zmienna pomocnicza, do ktorej zapisywane sa wyniki obliczen int suma=0; Watek [] tWatkow=new Watek[ilosc_watkow]; //glowna petla, tworzaca tablice uchwytow do watkow for(int i=0;i<ilosc_watkow;i++) { tWatkow[i]=new Watek("watek "+i,i); } //uruchomienie kazdego z watkow i przypisanie jego obliczen do zmiennej suma for(int i=0;i<ilosc_watkow;i++) { tWatkow[i].run(i,i+1); suma+=tWatkow[i].wynik; } //wypisanie wyniku na konsole System.out.println("Wynik: "+suma); } static void pauza() throws Exception { System.out.print("Nacisnij Enter...\n"); System.in.read(); }}