我正在从串口读取数据。数据来自IMU,我正在开发手势识别算法。我不想用Thread.sleep()方法停止整个程序,我只需要读取两组10ms的数据。我的应用程序有swing GUI。
float x0, x1;
x0 = getXacc();
x0 += 17000;
x0 /= 1000;
//wait 10ms
x1 = getXacc();
x1 += 17000;
x1 /= 1000;
答案 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();