JavaのマルチスレッドUNIXアーカイブ

概要

xzbzip2および lzipはLinuxで共通しています。ブロック構造により、それらはいくつかのスレッドで圧縮される可能性があります。 Aspose.Zip APIは、すべてのものに「setCompressionThreads」メソッドを提供して、圧縮時にいくつかのCPUコアを利用します。複数のコア圧縮を伴うことを伴います。 1つを残す - デフォルトオプション - は、単一のCPUコアでの圧縮につながります。

XZマルチスレッド圧縮

[xzarchivesettings `に setCompressionThreadsメソッドがあります。 次のコード例は、Xzarchiveインスタンスを使用してファイルを圧縮する方法を示しています。

 1try(fileoutputStream xzfile = new fileoutputStream( "archive.xz")){
 2    try(fileinputStream source = new fileInputStream( "data.bin")){
 3        xzarchivesettings settings = new xzarchivesettings();
 4        settings.setchecktype(xzchecktype.crc32);
 5        settings.setCompressionThreads(4);
 6        try(xzarchive archive = new xzarchive(settings)){
 7            archive.setsource(source);
 8            archive.save(xzfile);
 9        }
10    }
11} catch(ioException ex){
12}

bzip2マルチスレッド圧縮

setCompressionThreadsメソッドが「bzip2saveoptions」にあります。 次のコード例は、BZIP2RACHIVEインスタンスを使用してファイルを圧縮する方法を示しています。

 1try(fileoutputStream bz2file = new fileoutputStream( "archive.bz2")){
 2    try(fileinputStream source = new fileInputStream( "data.bin")){
 3        try(bzip2archive archive = new bzip2archive()){
 4            archive.setsource(source);
 5            bzip2saveoptions options = new bzip2saveoptions(9);
 6            options.setCompressionThreads(4);
 7            archive.save(bz2fileoptions);
 8        }
 9    }
10} catch(ioException ex){
11}

lzipマルチスレッド圧縮

[lziparchivesettings」には setCompressionThreadsメソッドがあります。 次のコード例は、Lziparchiveインスタンスを使用してファイルを圧縮する方法を示しています。

 1try(fileoutputStream lzfile = new fileoutputStream( "archive.lz")){
 2    try(fileinputStream source = new fileInputStream( "data.bin")){
 3        lziparchivesettings settings = new lziparchivesettings(16777216);
 4        settings.setCompressionThreads(4);
 5        try(lziparchive archive = new lziparchive(settings)){
 6            archive.setsource(source);
 7            archive.save(lzfile);
 8        }
 9    }
10} catch(ioException ex){
11}

すべてのサンプルで4つのスレッドが使用されています。

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.