package homework; public class W1 implements Runnable{ private int count; private int x; public W1(int x) { super(); this.x = x; } public int getX() { return x; } public void setX(int x) { this.x = x; } @Override public void run() { try { Thread.sleep(2); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } synchronized (this) { for (int i = 1; i < 11; i++) { try { Thread.sleep(2); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } if (this.x==11|i>10) { return; } count+=10; System.out.println(x+"Player No. 1 ran away"+count+"rice"); try { Thread.sleep(1); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } if (i==10&this.x<=10) { System.out.println(this.x+1+"Player No. 1 gets the baton!****************"); } } } } }
package homework; public class W1test { public static void main(String[] args) throws InterruptedException { // TODO Auto-generated method stub for (int i = 1; i <= 10; i++) { new Thread(new W1(i)).start(); Thread.sleep(200); } } }
Player 1 ran 10 meters
Player 1 ran 20 meters
Player 1 ran 30 meters
Player 1 ran 40 meters
Player 1 ran 50 meters
Player 1 ran 60 meters
Player 1 ran 70 meters
Player 1 ran 80 meters
Player 1 ran 90 meters
Player 1 ran 100 meters
Player 2 gets the baton****************
Player 2 ran 10 meters
Player 2 ran 20 meters
Player 2 ran 30 meters
Player 2 ran 40 meters
Player 2 ran 50 meters
Player 2 ran 60 meters
Player 2 ran 70 meters
Player 2 ran 80 meters
Player 2 ran 90 meters
Player 2 ran 100 meters
Player 3 gets the baton****************
Player 3 ran 10 meters
Player 3 ran 20 meters
Player 3 ran 30 meters
Player 3 ran 40 meters
Player 3 ran 50 meters
Player 3 ran 60 meters
Player 3 ran 70 meters
Player 3 ran 80 meters
Player 3 ran 90 meters
Player 3 ran 100 meters
Contestant No. 4 gets the baton****************
Player 4 ran 10 meters
Player 4 ran 20 meters
Player No. 4 ran 30 meters
Player No. 4 ran 40 meters
Player No. 4 ran 50 meters
Player No. 4 ran 60 meters
Player 4 ran 70 meters
Player 4 ran 80 meters
Player 4 ran 90 meters
Player No. 4 ran 100 meters
Player No. 5 gets the baton****************
Player No. 5 ran 10 meters
Player No. 5 ran 20 meters
Player No. 5 ran 30 meters
Player No. 5 ran 40 meters
Player No. 5 ran 50 meters
Player No. 5 ran 60 meters
Player No. 5 ran 70 meters
Player No. 5 ran 80 meters
Player No. 5 ran 90 meters
Player No. 5 ran 100 meters
Player 6 gets the baton****************
Player 6 ran 10 meters
Player 6 ran 20 meters
Player 6 ran 30 meters
Player 6 ran 40 meters
Player 6 ran 50 meters
Player 6 ran 60 meters
Player 6 ran 70 meters
Player 6 ran 80 meters
Player 6 ran 90 meters
Player 6 ran 100 meters
Player 7 gets the baton****************
Player 7 ran 10 meters
Player 7 ran 20 meters
Player 7 ran 30 meters
Player 7 ran 40 meters
Player 7 ran 50 meters
Player 7 ran 60 meters
Player 7 ran 70 meters
Player 7 ran 80 meters
Player 7 ran 90 meters
Player No. 7 ran 100 meters
Player 8 gets the baton****************
Player 8 ran 10 meters
Player 8 ran 20 meters
Player 8 ran 30 meters
Player 8 ran 40 meters
Player 8 ran 50 meters
Player 8 ran 60 meters
Player 8 ran 70 meters
Player 8 ran 80 meters
Player 8 ran 90 meters
Player 8 ran 100 meters
Player 9 gets the baton****************
Player 9 ran 10 meters
Player 9 ran 20 meters
Player 9 ran 30 meters
Player 9 ran 40 meters
Player 9 ran 50 meters
Player 9 ran 60 meters
Player 9 ran 70 meters
Player 9 ran 80 meters
Player 9 ran 90 meters
Player 9 ran 100 meters
Player 10 gets the baton****************
Player 10 ran 10 meters
Player 10 ran 20 meters
Player 10 ran 30 meters
Player 10 ran 40 meters
Player 10 ran 50 meters
Player 10 ran 60 meters
Player 10 ran 70 meters
Player 10 ran 80 meters
Player 10 ran 90 meters
Player 10 ran 100 meters