шпаргалки
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.4 KiB

2 years ago
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package mt;
/**
*
* @author (C)Y.D.Zakovryashin, 09.01.2023
*/
public class PingPong implements Runnable {
public static final int ROUND = 10;
private String name;
private int delay;
private Ball ball;
public PingPong(String name, int delay, Ball ball) {
this.name = name;
this.delay = delay;
this.ball = ball;
}
public static void main(String[] args) throws InterruptedException {
Ball ball = new Ball();
PingPong gamer1 = new PingPong("ping", 300, ball);
PingPong gamer2 = new PingPong("pong", 500, ball);
Thread t1 = new Thread(gamer1);
Thread t2 = new Thread(gamer2);
System.out.println("Start game...");
t1.start();
t2.start();
try {
t1.join(8000);
t2.join(8000);
synchronized (ball) {
ball.notifyAll();
}
} catch (InterruptedException e) {
System.out.println("Error: " + e.getMessage());
}
System.out.println("End over.");
}
@Override
public void run() {
for (int i = 0; i < ROUND; ++i) {
ball.hit(name, delay);
}
}
}