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.