Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- AirPlane.java
- ==================
- package MyTeufaBechakira;
- import java.util.Random;
- public class AIrPlane extends Thread{
- private static Object control = new Object(); //the migdal pickuch
- private static int flightNum=1000;
- private int planeNum;
- public AIrPlane(){
- this.planeNum=++flightNum;
- }
- @Override
- public void run() {
- takeOff();
- fly();
- land();
- }
- private void land() {
- System.out.println(planeNum+" wants to land");
- synchronized (control){
- System.out.println(planeNum+" is landing");
- }
- System.out.println(planeNum+" is landed");
- }
- private void fly() {
- Random r = new Random();
- int flightTime = r.nextInt(1500)+1500;
- System.out.println(planeNum+" is flying for "+flightTime+"ms");
- try {
- Thread.sleep(flightTime);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- private void takeOff() {
- System.out.println(planeNum+" want to take off");
- synchronized (control){
- System.out.println(planeNum+" is taking3 off");
- }
- }
- }
- AirPort.java
- ================
- package MyTeufaBechakira;
- import java.util.Scanner;
- public class AirPort {
- public static void main(String[] args) throws InterruptedException{
- Scanner scanner = new Scanner(System.in);
- System.out.println("How many planes?");
- int totalPlane = scanner.nextInt();
- AIrPlane[] planes = new AIrPlane[totalPlane];
- for (int counter=0;counter<planes.length;counter++){
- planes[counter] = new AIrPlane();
- planes[counter].start();
- }
- for (int counter=0;counter<planes.length;counter++){
- planes[counter].join();
- }
- System.out.println("air port is closed");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement