minitruco-android icon indicating copy to clipboard operation
minitruco-android copied to clipboard

Melhorar tratamento de `InterruptedException`

Open chesterbr opened this issue 1 year ago • 1 comments

Inicialmente eu considerei trocar os loops de thread baseados em sleep por um esquema wait/notify; mas vários deles foram eliminados, então o que restou foi tratar melhor as InterruptedException, que normalmente eu engulo.

https://stackoverflow.com/questions/1087475/when-does-javas-thread-sleep-throw-interruptedexception tem idéias interessantes para lidar com isso; só tem que analisar quando é mesmo pra engolir e quando não (ex.: I/O de Bluetooth/internet).

Também vale consolidar as várias implementações de métodos sleep.

chesterbr avatar Jun 05 '23 22:06 chesterbr

https://programming.guide/java/handling-interrupted-exceptions.html sugere que, nos casos em que a gente só quer seguir a vida se a thread for interrompida (ex.: em delays ou loops que têm outros mecanismos de saída), marcar ela como interrompida (Thread.currentThread().interrupt();) é uma boa idéia

chesterbr avatar Jul 21 '23 00:07 chesterbr