すべてが実行されるか、特定の条件が満たされるまで、連続して実行する必要のある一連のプロシージャがあります。条件が満たされるまで実行する必要がある基本的なコードは次のとおりです。
public boolean search()
{
robot.go();
robot.spin();
//etc - around 8 more similar commands (each takes around 2 seconds)
return false; //didn't find what it was looking for
}
これまでのところ、私がやりたいことをやろうと思った唯一の方法はこれです:
public boolean search()
{
robot.go(false);
while(robot.isMoving())
{
if(thingFound())
{
robot.stop()
return true;
}
Thread.yield();
}
robot.spin(false);
while(robot.isMoving())
{
if(thingFound())
{
robot.stop()
return true;
}
Thread.yield();
}
//etc - around 8 more similar commands
return false; //didn't find what it was looking for
}
とへのfalse
パラメーターは、それらがすぐに戻る必要があることを示し、条件をチェックできるようにしますgo()
。spin()
ただし、同じコードブロックを10回繰り返す必要があるため、このアプローチはかなり非効率的です。これは、例外または同時スレッドでより効率的に達成できますか?