Facebook
From Mustard Agouti, 1 Day ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 19
  1.  
  2. public class ConcurrentlyFibonaci extends Thread{
  3.         public int x;
  4.         public int result;
  5.         public ConcurrentlyFibonaci(int x)
  6.         {
  7.                 this.x=x;
  8.         }
  9.         public void  run(){
  10.                
  11.         if ((x==1)||(x==2))
  12.         result = 1;
  13.         else
  14.         {
  15.                 ConcurrentlyFibonaci fib1 = new ConcurrentlyFibonaci(x-1);
  16.                 ConcurrentlyFibonaci fib2 = new ConcurrentlyFibonaci(x-2);
  17.                
  18.                 fib1.start();
  19.                 fib2.start();
  20.                 try {
  21.                 fib1.join();
  22.                 fib2.join();
  23.                 }
  24.                 catch(Exception e)
  25.                 {
  26.                        
  27.                 }
  28.                 result = fib1.result+fib2.result;
  29.                
  30.         }
  31.     }
  32.         public static long calc(int n)
  33.         {
  34.             long startTime = System.currentTimeMillis();
  35.             ConcurrentlyFibonaci fib = new ConcurrentlyFibonaci(n);
  36.             fib.start();
  37.             try {
  38.                                 fib.join();
  39.                         } catch (InterruptedException e) {
  40.                                 // TODO Auto-generated catch block
  41.                                 e.printStackTrace();
  42.                         }
  43.             System.out.println(fib.result);
  44.            
  45.             long endTime = System.currentTimeMillis();
  46.                     return endTime-startTime;
  47.            
  48.         }
  49. }
  50.