En un escenario de multiproceso, tengo un método como este:¿Debería const un método que espera un cambio de estado?
bool WaitForChange(time_duration WaitTime) const;
Este método espera o bien hasta que el estado del objeto ha cambiado y devuelve verdadero, o hasta que los tiempos de tiempo de espera a cabo (¿cómo se dice eso?) y devuelve falso.
Mi intuición es que const
es para proteger contra los efectos secundarios no deseados del método en sí, así que esto está bien. Pero, de nuevo, algunos usuarios pueden pensar que el estado de la podría no haber cambiado, ya que el método está declarado const
. ¿Es ese usuario estúpido, o debo hacer el método no const
para evitar confusiones?
¿Cómo esperas? variables de condición, o encuesta de sueño? – nos
Estoy usando 'boost :: condition_variable' para esperar y' boost :: mutex' para bloquear. –