Source Code : Thread Interrupt when calculating Pi

Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com. Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com. Click Here or search from google with Libraries Name you get jar file related it

Thread Interrupt when calculating Pi

Thread Interrupt when calculating Pi
 
public class PiInterrupt extends Object implements Runnable {
  private double latestPiEstimate;

  public void run() {
    try {
      System.out.println("for comparison, Math.PI=" + Math.PI);
      calcPi(0.000000001);
      System.out
          .println("within accuracy, latest pi=" + latestPiEstimate);
    } catch (InterruptedException x) {
      System.out.println("INTERRUPTED!! latest pi=" + latestPiEstimate);
    }
  }

  private void calcPi(double accuracy) throws InterruptedException {

    latestPiEstimate = 0.0;
    long iteration = 0;
    int sign = -1;

    while (Math.abs(latestPiEstimate - Math.PI) > accuracy) {

      if (Thread.interrupted()) {
        throw new InterruptedException();
      }

      iteration++;
      sign = -sign;
      latestPiEstimate += sign * 4.0 / ((2 * iteration) - 1);
    }
  }

  public static void main(String[] args) {
    PiInterrupt pi = new PiInterrupt();
    Thread t = new Thread(pi);
    t.start();

    try {
      Thread.sleep(10000);
      t.interrupt();
    } catch (InterruptedException x) {
    }
  }
}

           
         
  

Thank with us