Faire un fil pour dormir pendant 30 minutes
Je veux faire de mon fil d'attendre 30 minutes. Existe-il des problèmes de le faire?
source d'informationauteur venkata lokesh
Vous devez vous connecter pour publier un commentaire.
Je veux faire de mon fil d'attendre 30 minutes. Existe-il des problèmes de le faire?
source d'informationauteur venkata lokesh
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire votre fil de sommeil pendant 30 minutes comme ceci:
À l'aide de
Thread.le sommeil
n'est pas mauvaise en soi. Simplement expliqué, il dit juste le fil planificateur de préempter le fil.Thread.sleep
est mauvais quand il est utilisé de façon incorrecte.sleep
. Mais ce n'est pas un moyen de garantie. Utiliser un mutex. Voir Est-il un Mutex en Java?Comme une garantie de la minuterie: Le temps de sommeil de
Thread.sleep
n'est pas garanti. Il pourrait revenir prématurément avec uneInterruptedException
. Ou il pourrait dormir trop longtemps.De la documentation:
Vous pouvez également utiliser, comme kozla13 a indiqué dans son commentaire:
La réponse de Krumia déjà montre parfaitement comment le sommeil de l'exécution d'un
Thread
. Parfois, l'exigence de sommeil ou d'interrompre un thread provient de la volonté d'effectuer une opération à une date ultérieure. Si c'est le cas, il est mieux d'utiliser un niveau plus élevé concept commeTimer
ouScheduledExecutorService
:Où
operation
est leRunnable
vous voulez exécuter dans les 30 minutes.À l'aide d'un
ScheduledExecutorService
vous pouvez également exécuter des opérations périodiquement: