我必須在一秒鐘內呼叫一個執行緒的run方法中的一個方法50次,問題是,我只允許使用sleep作為方法!
現在的問題是我該怎么做,例如這里的其他執行緒:
java-每隔一段時間呼叫一個函式
用計時器做到這一點。
用定時器很容易。但我只被允許使用睡眠作為一種方法......
uj5u.com熱心網友回復:
while (true) {
long t0 = System.currentTimeMillis();
doSomething();
long t1 = System.currentTimeMillis();
Thread.sleep(20 - (t1-t0));
}
t1 減去 t0 是您在“doSomething”中花費的時間,因此您需要的睡眠時間遠少于 20 毫秒。
您可能應該為 t1-t0 > 20 添加一些檢查。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/468786.html
上一篇:使用RequerySQLiteOpenHelperFactory時如何瀏覽android房間資料庫
下一篇:功能比例圖
