PYTHON
Basic Queue Implementation with Python's `queue` Module
Efficiently manage First-In, First-Out (FIFO) data using Python's standard `queue.Queue` module, ideal for task processing or message queues in web applications.
from queue import Queue
# Create a Queue
my_queue = Queue()
# Add items to the queue (enqueue)
my_queue.put("Task 1")
my_queue.put("Task 2")
my_queue.put("Task 3")
print(f"Queue size: {my_queue.qsize()}")
# Remove items from the queue (dequeue)
first_item = my_queue.get()
print(f"Processed: {first_item}")
second_item = my_queue.get()
print(f"Processed: {second_item}")
print(f"Queue size after processing: {my_queue.qsize()}")
# Check if queue is empty
print(f"Is queue empty? {my_queue.empty()}")
my_queue.task_done() # Mark task_done after processing first_item
my_queue.task_done() # Mark task_done after processing second_item
# Wait until all tasks are done (optional, for blocking)
# my_queue.join()
How it works: This snippet shows how to use Python's built-in `queue` module to create a First-In, First-Out (FIFO) queue. The `put()` method adds elements, and `get()` retrieves them in the order they were added. This module is thread-safe and provides essential methods like `qsize()`, `empty()`, `full()`, `task_done()`, and `join()`, making it suitable for multi-threaded applications like background task processing in web servers.