Race condition là một vấn đề xảy ra khi có hai thread cùng chạy một đoạn code không được triển khai đồng bộ hóa sử dụng các tài nguyên chung và gây ra những output không như dự tính.
Kết quả của chương trình sẽ phụ thuộc vào thuật toán điều phối thread của hệ điều hành.
Để ngăn chặn vấn đề này, ta cần đảm bảo rằng các tiểu trình cần phải lần lượt thao tác thông qua các cơ chế đồng bộ hóa (Synchronization).