Пример #1
0
        public MultithreadFileDecompressor(IBlockDecompressor blockDecompressor, IBlockStreamWriter blockWriter, IBlockStreamReader blockReader,
                                           int threadsCount = 15)
        {
            _blockDecompressor = blockDecompressor;
            _blockReader       = blockReader;
            _blockWriter       = blockWriter;
            _threadsCount      = threadsCount;

            _readedBlocks       = new ConcurrentBlockStack();
            _decompressedBlocks = new ConcurrentBlockStack();
        }
Пример #2
0
        public MultithreadFileCompressor(IBlockCompressor blockCompressor, IBlockStreamWriter blockWriter, IBlockStreamReader blockReader,
                                         int threadsCount = 15, int blockLen = (1024 * 1024) *10)
        {
            _blockCompressor = blockCompressor;
            _blockReader     = blockReader;
            _blockWriter     = blockWriter;
            _blockLen        = blockLen;
            _threadsCount    = threadsCount;

            _currentReadIndex = 0;
            _readedBlocks     = new ConcurrentBlockStack();
            _compressedBlocks = new ConcurrentBlockStack();
        }