中断可能なライブラリのサポート

中断可能なライブラリ

現在、Aspose.SlidesにInterruptionToken構造体とInterruptionTokenSourceクラスが追加されました。これらの型は、デシリアル化、シリアル化、またはレンダリングなどの長時間実行されるタスクの中断をサポートします。InterruptionTokenSourceは、ILoadOptions.InterruptionTokenに渡されるトークンまたは複数のトークンのソースを表します。ILoadOptions.InterruptionTokenが設定され、このLoadOptionsインスタンスがPresentationコンストラクターに渡されると、このPresentationに関連する長時間実行されるタスクは、InterruptionTokenSource.Interruptメソッドが呼び出されたときに中断されます。

以下のコードスニペットは、実行中のタスクの中断を示しています。

// 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();