public void Put(Block Block) { _semaphore.Wait(); try { _core.Put(Block); } finally { _semaphore.Release(); } }
public IterationResult Iterate() { var block = _source.Take(); if (block == null) { return(IterationResult.Break); } var processedBlock = _processor.Process(block); _sink.Put(processedBlock); return(IterationResult.Continue); }