Practice ยท 1 of 1
Bounded producer/consumer pipeline
Implement process_all(items, transform, workers=3):
- feed items through a queue.Queue into workers daemon threads
- each worker applies transform(item) and collects results thread-safely
- process_all must RETURN (not hang) once every item is processed, returning sorted(results)
- a worker that forgets task_done() deadlocks the join โ make sure you call it exactly once per item, even when transform raises is NOT required here (transform is assumed safe)
Difficulty: advanced
Press Submit to check your solution.
Back to lesson: Practice: Queue Practice