Soporte para la Biblioteca Interrumpible

Biblioteca Interrumpible

Ahora en Aspose.Slides se han añadido las estructuras InterruptionToken y la clase InterruptionTokenSource. Estos tipos soportan la interrupción de tareas de larga duración, como deserialización, serialización o renderizado. InterruptionTokenSource representa la fuente del token o múltiples tokens pasados a ILoadOptions.InterruptionToken. Cuando ILoadOptions.InterruptionToken está configurado y esta instancia de LoadOptions se pasa al constructor de Presentation, cualquier tarea de larga duración relacionada con esta Presentación será interrumpida cuando se invoque el método InterruptionTokenSource.Interrupt.

El fragmento de código a continuación demuestra la interrupción de una tarea en ejecución.

// For complete examples and data files, please go to https://github.com/Muhammad-Adnan-Ahmad/Aspose.Slides-for-Java
final InterruptionTokenSource tokenSource = new InterruptionTokenSource();
Runnable interruption = new Runnable() {
public void run() {
LoadOptions loadOptions = new LoadOptions();
loadOptions.setInterruptionToken(tokenSource.getToken());
Presentation pres = new Presentation("pres.pptx", loadOptions);
try{
pres.getSlides().get_Item(0).getThumbnail(new Dimension(960, 720));
pres.save("pres.ppt", SaveFormat.Ppt);
}
finally {
pres.dispose();
}
}
};
Thread thread = new Thread(interruption);// run action in a separate thread
thread.start();
Thread.sleep(5000); // some work
tokenSource.interrupt();