Szálkészlet API
A szálkészlet alkalmazásprogramozási felülete (API) objektumalapú kialakítást használ. Az alábbi objektumok mindegyikét egy felhasználói módú adatstruktúra képviseli:
- A készletobjektumok munkavégző szálak készletei, amelyek a munka elvégzéséhez használhatók. Minden folyamat szükség szerint több különálló készletet hozhat létre különböző jellemzőkkel. Minden folyamathoz tartozik egy alapértelmezett készlet is.
- A törlési csoport a visszahívást generáló objektumok készletéhez van társítva. A függvények az egyes tisztítási csoportok tagjaiként működő összes objektum várakozására és kiadására szolgálnak. Ez felszabadítja az alkalmazást attól, hogy nyomon kövesse az általa létrehozott összes objektumot.
- A rendszer hozzárendel egy munkaobjektumot egy készlethez, és opcionálisan egy tisztítási csoporthoz. Közzétehető, így egy feldolgozószál a készletből végrehajtja a visszahívását. Egy munkahelyi objektum több bejegyzéssel is rendelkezhet; mindegyik visszahívást hoz létre. A post művelet erőforráshiány miatt nem hiúsulhat meg.
- Egy időzítőobjektum szabályozza a visszahívások ütemezését. Minden alkalommal, amikor egy időzítő lejár, a visszahívás a munkavégző készletbe kerül. Az időzítő beállítása erőforrások hiánya miatt nem hiúsulhat meg.
- A várakozási objektumok miatt a pincérszál várakozni fog egy várakozó fogóponton. Miután a várakozás teljesült, vagy az időtúllépési időszak lejárt, a pincérszál a várakozási objektumok visszahívását a várakozási objektum feldolgozókészletére irányítja. A várakozás beállítása erőforrások hiánya miatt nem hiúsulhat meg.
- Az I/O-objektumok fájlleírót társítanak a szálkészlet I/O befejezési portjához. Amikor egy aszinkron I/O-művelet befejeződik, egy feldolgozószál felveszi a művelet állapotát, és meghívja az I/O-objektum visszahívását.
Az alábbi táblázat az eredeti és az aktuális szálkészlet API-k funkcióit ismerteti.
Kapcsolódó témakörök