私はコンピュータサイエンスのクラスに所属しており、JavaOOPの概要としてロボットのカレルを使用することから始めました。2つの異なるタスクを実行して、2つのKareltheRobotsを同時に実行したいと思います。インターネットで解決策を探してみましたが、動作するスレッドを作成することに成功しましたが、2台のKareltheRobotsを同時に実行することはできません。この並行プログラミングの問題についての助けをいただければ幸いです。これが私が使用しているコードです:
package karel;
import kareltherobot.*;
import kareltherobot.Directions;
import kareltherobot.World;
public class KarelSample implements Directions
{
public static void main(String [] args)
{
Thread Karelrunner = new Thread();
Karelrunner.start();
UrRobot Karel = new UrRobot ( 1,5, North, 2);
Karel.move();
Karel.move();
Karel.putBeeper();
Karel.turnLeft();
Karel.move();
}
static
{
World.setVisible(true);
World.showSpeedControl(true);
}
class Karelrunner implements Directions {
UrRobot Karel2 = new UrRobot(8,8, South, 2);
Karel2.move();
Karel2.move();
Karel2.turnLeft();
Karel2.turnLeft();
Karel2.putBeeper();
Karel2.move();
}
}
また、Karel J Robotの本の例を使用しました。この例では、スレッド設定コードは次のようになります。
public static void main (String [] args)
{ ...
Karelrunner r = new Karelrunner();
World.setupThread(r);
. . .
}
できる限り助けてください、私はマルチスレッドの並行プログラムを作ろうとしています。私はこれに不慣れであり、あなたの時間と注意に感謝します。