pythonintermediate

Queue Management

Advanced Python pattern: queue-management

python
from queue import Queue
from threading import Thread

q: Queue[int] = Queue()

def worker() -> None:
    while not q.empty():
        x = q.get()
        print('processed', x)
        q.task_done()

for i in range(5):
    q.put(i)

threads = [Thread(target=worker) for _ in range(2)]
for t in threads: t.start()
q.join()

Use Cases

  • advanced programming
  • patterns

Tags

Related Snippets

Similar patterns you can reuse in the same workflow.