0

アプリケーション全体をブロックせずに継続的に実行classするインターフェイスを実装するを作成する方法。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インターフェイスを実装します。

4

3 に答える 3

2

アプリケーション全体をブロックせずに継続的に実行するようにjava.lang.Runnableインターフェースを実装するクラスを作成する方法。

あなたは2つのものが必要です:

  • run()メソッド内のループ
  • 通常はデバイスと通信することによってブロックする通話
public class USBRunnable implements Runnable {

  public void run() {
      while (isRunning) {
          data = readFromUSBDevice();  // waits until data is available, returns the data read
          processData(data);
      }
   }
}
于 2013-03-04T10:59:51.193 に答える
0

典型的な方法は、ループを入れることですrun

public void run() {
    while (!terminationCondition) {
        // Do work
    }
}

runRunnableその作業の1回の反復だけでなく、実行する必要のある作業全体をモデル化する必要があります。したがって、停止するまで繰り返し作業を行う必要がある場合は、ループを使用して正確にそれを行います。

于 2013-03-04T10:59:12.883 に答える
0

while(true){......}runnableを実装するクラスのrunメソッド内でループすることができます。このスレッドをデーモンとしてマークできます。

于 2013-03-04T11:37:17.587 に答える