Có thể sử dụng phần cứng để đồng bộ hóa bằng cách dùng lệnh cấm ngắt trước khi tiến trình truy cập vào CS. Khi đó, CPU sẽ không phản hồi lại các sự kiện liên quan đến phần cứng, chẳng hạn như các thao tác nhập xuất hoặc là ngắt bộ đếm thời gian (Timer Interrupt).
Thời điểm xảy ra timer interrupt cũng chính là lúc context switch được diễn ra và sẽ có một tiến trình khác xen ngang vào việc thực thi CS của tiến trình hiện tại. Nói cách khác, timer interrupt chính là lý do gây ra race condition và do đó mà ta cần ngăn sự kiện này diễn ra nhằm đảm bảo tiến trình có thể thực thi CS mà không bị tranh chấp bởi các tiến trình khác.
Minh họa:
do {
disable_interrupts();
// critical section
enable_interrupts();
// remainder section
} while(1);Sau khi thoát ra khỏi CS, hệ thống sẽ cho phép các loại ngắt có thể được vận hành trở lại.
Attention
Cần lưu ý rằng: việc sử dụng cấm ngắt có thể dẫn đến việc hệ thống bỏ lỡ một số các loại ngắt quan trọng hoặc trì hoãn các thao tác nhập xuất. Ngoài ra, nếu các tiến trình đang nắm giữ một tài nguyên nào đó và không thể giải phóng do bị cấm ngắt thì có thể xảy ra vấn đề deadlock.