Vztahy Thread.sleep () a TimeUnit.SECONDS.sleep () z

Relations Thread Sleep



java.lang.Thread

java.util.concurrent.TimeUnit



(1) Thread.sleep () a TimeUnit.SECONDS.sleep () dosáhly operace pozastavení vláken



(2) Metoda výčtu členů TimeUnit poskytuje lepší čitelnost, běžně se používá k nahrazení Thread.sleep ()



Například k dosažení stejného vlákna pozastaveného tři minuty:

Thread.sleep (180000) nebo Thread.sleep (3 * 60 * 1000) // milisekundy

TimeUnit.MINUTES.sleep (4)



(3) Zobrazit zdrojový kód TimeUnit.SECONDS.sleep () nebo zabalit metody Thread.sleep, abyste dosáhli stejného, ​​více než převodu a ověření časové jednotky.

(4) Thread.sleep () je statická metoda, neuvolní zámek, když pozastavíte vlákno, což vyvolá InterrupttedException výjimku (pokud jakékoli vlákno přerušilo aktuální vlákno).

TimeUnit.sleep () interně nazývané Thread.sleep (), také vyvolá InterruptException.

(5) TimeUnit obvykle granularity

Nástroje TimeUnit.DAYS day

TimeUnit.HOURS when tools

TimeUnit.MINUTES bodů Nástroje

TimeUnit.SECONDS sekundové nástroje

TimeUnit.MILLISECONDS milisekundové nástroje

TimeUnit.SECONDS.sleep (5) // zpoždění 5 sekund

(6) Převod granularity času TimeUnit

public long toMillis(long d) // ms converted to

public long toSeconds(long d) // converted to seconds

public long toMinutes(long d) // converted into minutes

public long toHours(long d) // converted to hours

public long toDays(long d) // convert day

Např:

TimeUnit.SECONDS.toMillis (1) // 1 sekunda do počtu milisekund

TimeUnit.SECONDS.toMinutes (60) // 60 sekund do počtu minut

TimeUnit.SECONDS.sleep (5) // vlákno spí pět sekund

TimeUnit.SECONDS.convert (1, TimeUnit.MINUTES) // 1 minuta pro převod sekund

Reference:

Thread.sleep () a TimeUnit.SECONDS.sleep () https://www.cnblogs.com/jiuya/p/10832507.html

souběžnost Java TimeUnit, místo TimeUnit.sleep (): https://blog.csdn.net/xiaojin21cen/article/details/79479788