import java.lang.Thread; import java.io.PrintStream;
class CalcThread extends Thread { static int count = 0; int id; long res=0; CalcThread() { count++; id = count; }
public void run() { System.out.println("Thread nr." + id + " is starting"); res = work(); }
private long work() { long i,j; if(id == 1) { System.out.println("Thread nr." + id + " calculating"); for(i = 1;i <= 4000000000L;i++) { res += i; } } return(res); } }
class Calc { public static void main(String args[]) { System.out.println("Starts two threads!"); CalcThread s1 = new CalcThread(); System.out.println("Thread s1 has id " + s1.id); s1.start(); // Allokerer minne og kaller s.run() CalcThread s2 = new CalcThread(); System.out.println("Thread s2 has id " + s2.id); s2.start(); System.out.println("s2 started !\n"); try { s1.join(); } catch (InterruptedException e) { } try { s2.join(); } catch (InterruptedException e) { } System.out.printf("Thread nr. 1 calculated %d\n",s1.res); System.out.printf("Thread nr. 2 calculated %d\n",s2.res); } }
|