public void DoWorker() { while (true) { if (!_requests.IsReadyToTake()) { continue; } Pixel newPixel = _requests.Take(); PaintPixel(newPixel); _listPixel.Add(newPixel); Thread.Sleep(Delay); } }