使Java持续运行
如何使实现使Java持续运行,java,Java,如何使实现java.lang.Runnable接口的类连续运行而不阻塞整个应用程序 例如: private void startHandler(UsbDevice d) { if (mLoop != null) { mConnectionHandler.onErrorLooperRunningAlready(); return; } mLoop = new UsbRunnable(d); mUsbThread = new Threa
java.lang.Runnable
接口的类
连续运行而不阻塞整个应用程序
例如:
private void startHandler(UsbDevice d) {
if (mLoop != null) {
mConnectionHandler.onErrorLooperRunningAlready();
return;
}
mLoop = new UsbRunnable(d);
mUsbThread = new Thread(mLoop);
mUsbThread.start();
}
需要使
mLoop
的run()方法连续运行。UsbRunnable实现Runnable接口。典型的方法是在run
中放置一个循环:
public void run() {
while (!terminationCondition) {
// Do work
}
}
run
应该为Runnable
需要做的全部工作建模,而不仅仅是该工作的一次迭代。所以,如果它需要重复工作直到停止,你可以使用一个循环来完成
如何使实现java.lang.Runnable接口的类连续运行而不阻塞整个应用程序
你需要两件事:
run()方法中的循环
- 通常通过与设备通信来阻止的呼叫
在实现runnable的类的run方法中可以有一个while(true){……}循环。可以将此线程标记为deamon。什么是
UsbRunnable
s代码?
public class USBRunnable implements Runnable {
public void run() {
while (isRunning) {
data = readFromUSBDevice(); // waits until data is available, returns the data read
processData(data);
}
}
}