繁体   English   中英

如何在Java中使用计时器

[英]How can i use timer in Java

我正在从串行端口读取数据。 数据来自IMU,我正在开发手势识别算法。 我不想使用Thread.sleep()方法停止整个程序,我只需要读取10ms间隔的两组数据。 我的应用程序具有摆动GUI。

    float x0, x1;
    x0 = getXacc();
    x0 += 17000;
    x0 /= 1000;
    //wait 10ms
    x1 = getXacc();
    x1 += 17000;
    x1 /= 1000;

使用Thread.sleep()

float x0, x1;
x0 = getXacc();
x0 += 17000;
x0 /= 1000;
Thread.sleep(10);  // tell current Thread to sleep for 10 milliseconds
x1 = getXacc();
x1 += 17000;
x1 /= 1000;

注意: Java API不保证Thread.sleep()会在指定的确切时间(本例中为10ms)内暂停当前线程的执行,但是它将竭尽全力实现这一目标。

使用@TimBiegeleisen答案并将其代码放入新的线程中:

new Thread(){
    @Override
    public void run(){
        //TimBiegeleisen code
    }
}.start();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM