Hàng đợi là một khái niệm cấp cao hơn một luồng. Các yếu tố cơ bản của hàng đợi là một thông điệp / đối tượng, là một cấu trúc dữ liệu mạch lạc (thường được gõ) có thể được người tiêu dùng tự hiểu. Mặt khác, tại cơ sở của một luồng , có các bit / byte / ký tự có kích thước cố định, thường là vô nghĩa đối với ứng dụng. Một chuỗi các ký tự này có thể soạn một "thông điệp", nhưng API luồng để lại cho ứng dụng để phân chia chuỗi các ký tự thành các đoạn hợp lý.
API Stream thường cũng cho phép đọc và ghi một phần, nếu bộ đệm luồng đầy và phía bên kia không đọc / ghi; các ứng dụng xử lý hàng đợi thường mong đợi hàng đợi xử lý các nội bộ này.
Một hàng đợi có thể được thực hiện trên đầu luồng, điều này được thực hiện bằng cách thực hiện đóng khung thư. Ví dụ: TCP cung cấp giao diện truyền phát, HTTP được xây dựng bên trên TCP và thêm khung hình thông báo bằng cách sử dụng mã hóa chuyển nội dung Độ dài / khối. Người dùng API kết nối HTTP được trừu tượng hóa từ việc xử lý phân tách luồng kết nối HTTP thành các yêu cầu HTTP.
Mặt khác, thông thường, sẽ ít có ý nghĩa hơn khi triển khai API luồng trên đầu hàng đợi, vì việc xử lý khung tin nhắn sẽ thêm chi phí không cần thiết.