Archives Unix multithread en Java

Aper�u

Les archives XZ, Bzip2 et Lzip sont courantes sous Linux. En raison de leur structure en blocs, ils peuvent �tre compress�s dans plusieurs threads. L’API Aspose.ZIP fournit la m�thode setCompressionThreads pour chacun d’entre eux afin d’utiliser plusieurs c�urs de CPU pour la compression. Le fait de la d�finir � plus d’un entra�ne une compression multi-c�ur ; le fait de la laisser � un seul - l’option par d�faut - entra�ne une compression avec un seul c�ur de CPU.

Compression multithread XZ

Il existe une m�thode setCompressionThreads dans XzArchiveSettings. L’exemple de code suivant montre comment compresser un fichier en utilisant l’instance 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}

Compression multithread Bzip2

Il existe une m�thode setCompressionThreads dans Bzip2SaveOptions. L’exemple de code suivant montre comment compresser un fichier en utilisant l’instance Bzip2Archive.

 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(bz2File, options) ;
 8        }
 9    }
10} catch (IOException ex) {
11}

Compression multithread de Lzip

Il existe une m�thode setCompressionThreads dans LzipArchiveSettings. L’exemple de code suivant montre comment compresser un fichier en utilisant l’instance 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}

Quatre threads sont utilis�s dans tous les �chantillons.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.