package hall; import java.util.*; import java.math.BigInteger; /** Creates a Vector of large prime numbers, usually in * a low-priority background thread. Provides a few small * thread-safe access methods. *

* Part of tutorial on servlets and JSP that appears at * http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/ * 1999 Marty Hall; may be freely used or adapted. */ public class PrimeList implements Runnable { private Vector primes; private int numPrimes, numDigits; // Finds numPrimes prime numbers, each of which are // numDigits long or longer. public PrimeList(int numPrimes, int numDigits, boolean runInBackground) { // Using Vector instead of ArrayList // to support JDK 1.1 servlet engines primes = new Vector(numPrimes); this.numPrimes = numPrimes; this.numDigits = numDigits; if (runInBackground) { Thread t = new Thread(this); // Use low priority so you don't slow down server. t.setPriority(Thread.MIN_PRIORITY); t.start(); } else { run(); } } public void run() { BigInteger start = Primes.random(numDigits); for(int i=0; i