小编shl*_*hen的帖子

Thread.sleep(x)是否足以在Android中用作时钟?

我在我的主类中运行了一个单独的线程.它需要每100毫秒发送一条消息,但每100毫秒一次.我想知道它是否足够准确可以这样使用,或者是否有替代方案可以让某些事情恰好每秒发生10次.

class ClockRun implements Runnable {

    @Override
    public void run() {
        double hourlyRate = Double.parseDouble(prefs.getString("hourlyRate", ""));
        double elapsedTime = 0;
        do {
            while(clockRun){
                double amount = hourlyRate / 360 /100 * elapsedTime;
                elapsedTime++;
                Bundle clockData = new Bundle();
                clockData.putString("value", String.format("$%.2f", amount));

                Message message = Message.obtain();
                message.setData(clockData);


                handler.sendMessage(message);

                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }while (mainRun);

        Notify.viaToast(getApplication(), "Thread stopped.");

    }
}
Run Code Online (Sandbox Code Playgroud)

java multithreading android

7
推荐指数
1
解决办法
799
查看次数

标签 统计

android ×1

java ×1

multithreading ×1