中断可能なライブラリのサポート
中断可能なライブラリ
現在、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(); | |