Haladó Java kurzus

Eredeti feladatsor

Szálkezelés

  1. 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.

  2. Készíts olyan metódust, amely egyszámjátékot játszik az alábbiak szerint.
    1. Szinkronizáció nélkül baj keletkezik.
  3. Adott 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.
    1. Adj át sok tevékenységet a pool-nak, mindegyik várjon véletlenszerű ideig. A Future-jeik segítségével írd ki másodpercenként, hogy melyik van készen.
    2. Készíts saját pool implementációt szálak segítségével.
      • Az n szál mellett szükség lesz egy vezérlőre, ami kiosztja a feladatokat, és a szálak ennek jelzik, ha felszabadultak.