Készíts egy több szálon futó prímkereső programot. Minden számot csak egyszer teszteljünk prímségre.
Ehhez szükség lesz egy számláló objektumra (mint egy sorszám osztogató automata), melytől a szálak kéregetik a tesztelendő számokat.
Az első verzió írassa ki a prímeket. A második verzióban a szálak tegyék a megtalált prímeket egy közös, megosztott listába.
n-re készíts az Executors.newFixedThreadPool(n) hívás segítségével egy eszközt, amely egyszerre legfeljebb n tevékenységet hajt végre n szálon.
n-re gyakran jó választás Runtime.getRuntime().availableProcessors(), mivel a processzor ennél több feladatot úgysem tud párhuzamosan végrehajtani.execute() metódusának át lehet adni egy lambdát, amelyet végrehajt (ha van szabad szál, rögtön, különben sorba áll).submit() metódust kell használni. Az eredményt a submit() visszatérési értékeként kapott Future-ön a get() metódus meghívásával lehet megkapni.Future-jeik segítségével írd ki másodpercenként, hogy melyik van készen.n szál mellett szükség lesz egy vezérlőre, ami kiosztja a feladatokat, és a szálak ennek jelzik, ha felszabadultak.