public void Processing(UserThreadPool pool, FileReaderWriter readerWriter)
        {
            int blockCount = readerWriter.GetNumberOfBlocks(BLOCK_SIZE);

            for (int i = 0; i < blockCount; i++)
            {
                BlockMetadata metadata = new BlockMetadata(BLOCK_SIZE);
                Task          task     = new Task(metadata,
                                                  (blockData) => Compress(blockData),
                                                  readerWriter);
                pool.Execute(task);
            }
        }
 public void Processing(UserThreadPool pool, FileReaderWriter readerWriter)
 {
     readerWriter.ReadInfoBlocksAtTheEndFile();
     ///Составление задач
     foreach (var block in readerWriter.SizeCompressedBlockList)
     {
         BlockMetadata metadata = new BlockMetadata(block);
         Task          task     = new Task(metadata,
                                           (blockData) => Decompress(blockData),
                                           readerWriter);
         pool.Execute(task);
     }
 }
 public ProcessManager()
 {
     readerWriterFactory = new ReaderWriterFactory();
     pool = new UserThreadPool(threadCount);
 }