Mysql
 sql >> Database >  >> RDS >> Mysql

Come eseguire il timeout di una query mysql++ in c++

Puoi implementare un comportamento "simile all'annullamento" in questo modo:

Si esegue la query su un thread separato, che continua a essere eseguito indipendentemente dal verificarsi del timeout. Il timeout si verifica sul thread principale e imposta una variabile su "1" che indica che si è verificato. Quindi fai quello che vuoi fare sul tuo thread principale.

Il thread della query, una volta completata la query, verifica se si è verificato il timeout. In caso contrario, fa il resto del lavoro che deve fare. Se HA, sblocca semplicemente i tavoli che ha appena bloccato.

So che suona un po' dispendioso, ma il periodo di blocco-sblocco dovrebbe essere praticamente istantaneo e ti avvicini il più possibile al risultato desiderato.