Можете да приложите поведение, подобно на отмяна, по следния начин:
Изпълнявате заявката в отделна нишка, която продължава да работи независимо дали настъпи изчакването или не. Времето за изчакване настъпва в основната нишка и задава променлива на "1", отбелязвайки, че е възникнала. След това правите каквото искате в основната си нишка.
Нишката на заявката, след като заявката приключи, проверява дали е настъпило изчакването. Ако не е, той върши останалата работа, която трябва да свърши. Ако ИМА, той просто отключва масите, които току-що е заключил.
Знам, че звучи малко разточително, но периодът на заключване и отключване трябва да е мигновен и вие се доближавате максимално до желания резултат.