Explain message queues.
01
01
Understand the problem
message-queue
02
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Stuck? AI Nudge Available
Get a conceptual hint to guide your logic without spoiling the final implementation.
03
03
Study the solution
The solution is waiting
Give it an honest attempt first — then compare your thinking with the full walkthrough.
04
04
Read the code
Producer / consumer workers
Run Playgroundimport queue, threading, time
q = queue.Queue()
def worker(name):
while True:
job = q.get()
if job is None: # shutdown signal
break
print(name, "processing", job)
time.sleep(0.05) # simulate work
q.task_done()
workers = [threading.Thread(target=worker, args=("w" + str(i),)) for i in range(2)]
for t in workers:
t.start()
for i in range(6): # producer enqueues, decoupled from consumers
q.put("job-" + str(i))
q.join() # wait until all jobs processed
for _ in workers:
q.put(None)
for t in workers:
t.join()
print("done")05
05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.