1

私はいくつかの機能を持っています

func1()
{
  while (true) 
  {
    isdateok()
    { // return true or false 
    }
  }
}

isdateok() がタイムアウトの前に true を返す場合は 5 秒 (または構成されている任意のタイムアウト) まで実行し、それ以外の場合は続行し、5 秒 (またはタイムアウト) 後に処理を停止してタイムアウトとして返す必要があります。

4

2 に答える 2

1

時間依存のタスクを実行できるScheduledExecutorServiceをご覧ください。

于 2012-05-28T10:42:02.000 に答える
0

あなたの質問を理解できたかどうかはわかりませんが、答えは次のとおりです。

public boolean func1(long duration) {
    long t = System.currentTimeMillis();
    while (System.currentTimeMillis() - t < duration) {
        if (isdateok())
            return true;
        else
            Thread.yield();
    }
    return false;
}
于 2012-05-28T11:05:04.610 に答える