Bạn có thể triển khai hành vi "hủy lượt thích" theo cách này:
Bạn thực hiện truy vấn trên một chuỗi riêng biệt, tiếp tục chạy dù hết thời gian chờ có xảy ra hay không. Thời gian chờ xảy ra trên luồng chính và đặt một biến thành "1" đánh dấu rằng nó đã xảy ra. Sau đó, bạn làm bất cứ điều gì bạn muốn làm trên chuỗi chính của mình.
Chuỗi truy vấn, sau khi truy vấn hoàn tất, sẽ kiểm tra xem thời gian chờ đã xảy ra hay chưa. Nếu không, nó sẽ thực hiện phần còn lại của công việc cần làm. Nếu nó CÓ, nó chỉ mở khóa các bảng mà nó vừa khóa.
Tôi biết điều đó nghe có vẻ hơi lãng phí, nhưng về cơ bản thời gian mở khóa phải diễn ra ngay lập tức và bạn sẽ đạt được kết quả mong muốn nhất có thể.