Megszakítható könyvtár támogatása

Áttekintés

Az Aspose.Slides egy megszakítható feldolgozási mechanizmust biztosít a hosszú ideig futó prezentációs feladatokhoz, például a deszerializáláshoz, sorosításhoz és rendereléshez. Ez a mechanizmus a InterruptionToken és a InterruptionTokenSource osztályokon alapul.

Az InterruptionToken hozzárendelhető a LoadOptions osztályhoz, és átadható a Presentation konstruktorának. Amikor a InterruptionTokenSource.interrupt() metódust meghívják, a kapcsolódó hosszú futású feladat megszakad.

Megszakítható Könyvtár

Az Aspose.Slides 18.4 verzióban bevezettük a InterruptionToken és a InterruptionTokenSource osztályokat. Lehetővé teszik a hosszú futású feladatok, például a deszerializálás, sorosítás és renderelés megszakítását.

Az alábbi kódrészlet bemutatja egy futó feladat megszakítását:

final InterruptionTokenSource tokenSource = new InterruptionTokenSource();

Runnable interruption = new Runnable() {
    public void run() {
        LoadOptions loadOptions = new LoadOptions();
        loadOptions.setInterruptionToken(tokenSource.getToken());

        Presentation presentation = new Presentation("sample.pptx", loadOptions);
        try{
            presentation.save("sample.ppt", SaveFormat.Ppt);
        }
        finally {
            presentation.dispose();
        }
    }
};

Thread thread = new Thread(interruption);
thread.start();          // a műveletet külön szálon futtatja
Thread.sleep(10000);     // időtúllépés
tokenSource.interrupt(); // a konverzió leállítása

GYIK

Mi a célja az Aspose.Slides megszakítási könyvtárnak?

Ez egy mechanizmust biztosít a hosszú futású műveletek—például prezentációk betöltése, mentése vagy renderelése—megszakítására, mielőtt befejeződnének. Hasznos, ha a feldolgozási időt korlátozni kell, vagy a feladat már nem szükséges.

Mi a különbség a InterruptionToken és a InterruptionTokenSource között?

  • A InterruptionToken az Aspose.Slides API felé kerül átadásra, és a hosszú futású műveletek során ellenőrzésre kerül.
  • A InterruptionTokenSource a kódban a tokenek létrehozására és a megszakítások indítására szolgál a Interrupt() hívásával.

Mely feladatok szakíthatók meg?

Bármely Aspose.Slides feladat, amely elfogad egy InterruptionToken—például egy prezentáció betöltése a Presentation(path, loadOptions) vagy mentése a Presentation.save(...) segítségével—megszakítható.

Azonnal megtörténik a megszakítás?

Nem. A megszakítás együttműködő: a művelet időközönként ellenőrzi a token-t, és amint észleli, hogy a Interrupt() meghívásra került, leáll.

Mi történik, ha a Interrupt() metódust egy már befejezett feladat után hívom meg?

Semmi—ha a megfelelő feladat már befejeződött, a hívás nem okoz semmilyen hatást.

Újra felhasználhatom ugyanazt a InterruptionTokenSource objektumot több feladathoz?

Igen—de miután meghívja a Interrupt() metódust azon a forráson, az összes, a tokenjeit használó feladat megszakad. Használjon külön tokenforrásokat a feladatok önálló kezeléséhez.