Update concurrent producer. Add semaphore control.