TPI 2 - Operaciones asincrónicas #428
-
Buenas noches profes. Tengo una duda respecto de las operaciones asincrónicas. Inicialmente había contemplado una abstracción que me permitiese llevar un registro de las operaciones de lectura y escritura asincrónicas pendientes, con el objetivo de, al momento de que se quiera cerrar el archivo, poder devolver una excepción indicando que existen operaciones pendientes en el mismo y por ende, no se puede cerrar. Pero lo estuve reconsiderando ya que no sé si eso sería extender el dominio. public void cerrar(){
if(!abierto){
throw new RuntimeException("El archivo ya fue cerrado");
}
if(!operacionesPendientes.isEmpty()){
throw new RuntimeException("El archivo se encuentra ocupado. No se puede cerrar hasta que se completen las operaciones pendientes");
}
this.sistemaBase.closeFile(this.descriptor);
} ¿Tengo permitido hacer ese tipo de verificaciones o estaría incumpliendo los requerimiento? Desde ya muchas gracias. Quedo a la espera de su respuesta, Agustín Blanco. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
👋 ¡Hola! No lo pretendíamos, pero definitivamente es una buena idea. Lo que no me queda claro es cómo harás para saber qué operaciones quedan pendientes; si bien llevar esa contabilidad es posible a través de envolver las operaciones asincrónicas del código cliente dentro de otras provistas por tu adaptador que se encarguen de registrar las operaciones incompletas, hacerlo puede ser complejo (sobre todo, sin caer en condiciones de carrera). |
Beta Was this translation helpful? Give feedback.
👋 ¡Hola!
No lo pretendíamos, pero definitivamente es una buena idea. Lo que no me queda claro es cómo harás para saber qué operaciones quedan pendientes; si bien llevar esa contabilidad es posible a través de envolver las operaciones asincrónicas del código cliente dentro de otras provistas por tu adaptador que se encarguen de registrar las operaciones incompletas, hacerlo puede ser complejo (sobre todo, sin caer en condiciones de carrera).