Ondersteuning voor onderbreekbare bibliotheek

Overzicht

Aspose.Slides biedt een onderbreekbare verwerkingsmechanisme voor langdurige presentatietaken, zoals deserialisatie, serialisatie en rendering. Dit mechanisme is gebaseerd op de InterruptionToken- en InterruptionTokenSource-klassen.

Een InterruptionToken kan toegewezen worden aan LoadOptions en doorgegeven aan de Presentation‑constructor. Wanneer InterruptionTokenSource.interrupt() wordt aangeroepen, wordt de bijbehorende langdurige taak onderbroken.

Onderbreekbare bibliotheek

In Aspose.Slides 18.4, hebben we de klassen InterruptionToken en InterruptionTokenSource geïntroduceerd. Ze stellen u in staat om langdurige taken, zoals deserialisatie, serialisatie en rendering, te onderbreken.

De volgende codefragment toont hoe een lopende taak onderbroken kan worden:

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();          // voer de actie uit in een aparte thread
Thread.sleep(10000);     // tijdslimiet
tokenSource.interrupt(); // stop de conversie

FAQ

Wat is het doel van de Aspose.Slides onderbreekbibliotheek?

Het biedt een mechanisme om langdurige bewerkingen—zoals het laden, opslaan of renderen van presentaties—onder te breken voordat ze voltooid zijn. Dit is handig wanneer de verwerkingstijd beperkt moet worden of de taak niet langer nodig is.

Wat is het verschil tussen InterruptionToken en InterruptionTokenSource?

  • InterruptionToken wordt doorgegeven aan de Aspose.Slides‑API en tijdens langdurige bewerkingen gecontroleerd.
  • InterruptionTokenSource wordt in uw code gebruikt om tokens aan te maken en onderbrekingen te activeren door Interrupt() aan te roepen.

Welke taken kunnen worden onderbroken?

Elke Aspose.Slides‑taak die een InterruptionToken accepteert—zoals het laden van een presentatie met Presentation(path, loadOptions) of opslaan met Presentation.save(...)—kan onderbroken worden.

Wordt onderbreking direct uitgevoerd?

Nee. Onderbreking is coöperatief: de bewerking controleert periodiek de token en stopt zodra wordt geconstateerd dat Interrupt() is aangeroepen.

Wat gebeurt er als ik Interrupt() aanroep nadat een taak al voltooid is?

Niets—de aanroep heeft geen effect als de betreffende taak al voltooid is.

Kan ik dezelfde InterruptionTokenSource hergebruiken voor meerdere taken?

Ja—maar nadat u Interrupt() op die bron hebt aangeroepen, zullen alle taken die zijn tokens gebruiken worden onderbroken. Gebruik afzonderlijke token‑bronnen om taken onafhankelijk te beheren.