我怎样才能在Java中使用计时器

时间:2015-07-12 13:28:15

标签: java timer

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

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

2 个答案:

答案 0 :(得分:2)

使用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),但它会尽力实现这一目标。

答案 1 :(得分:1)

使用@TimBiegeleisen回答并将他的代码放到新的Thread:

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