Movie Ticket Booking App

 

class BookTheaterSeat {

  static int total_seats = 20;

  //synchronized method
  static synchronized void bookSeat(int seats) {
    if (total_seats >= seats) {
      System.out.println(seats + " Seats booked Successfully");
      total_seats -= seats;
      System.out.println("Total seats available= " + total_seats);
    } else {
      System.out.println("Booking failed due to less seat are available");
      System.out.println("Seats available are : " + total_seats);
    }
  }
}

class MyThread1 extends Thread {

  BookTheaterSeat b;
  int seats;

  MyThread1(BookTheaterSeat b, int seats) {
    this.b = b;
    this.seats = seats;
  }

  @Override
  public void run() {
    b.bookSeat(seats);
  }
}

class MyThread2 extends Thread {

  BookTheaterSeat b;
  int seats;

  MyThread2(BookTheaterSeat b, int seats) {
    this.b = b;
    this.seats = seats;
  }

  @Override
  public void run() {
    b.bookSeat(seats);
  }
}

public class MovieBookApp2 extends Thread {

  int seats;
  static BookTheaterSeat b;

  @Override
  public void run() {
    b.bookSeat(seats);
  }

  public static void main(String[] args) {
    BookTheaterSeat b1 = new BookTheaterSeat();
    MyThread1 t1 = new MyThread1(b1, 7);
    t1.start();

    MyThread2 t2 = new MyThread2(b1, 6);
    t2.start();

    BookTheaterSeat b2 = new BookTheaterSeat();
    MyThread1 t3 = new MyThread1(b2, 5);
    t3.start();

    MyThread2 t4 = new MyThread2(b2, 6);
    t4.start();
  }
}

Google Script for Data Entry Form in Google Spreadsheet

// function to validate the entry made by user in user form function validateEntry (){ // declare a variable and referernece of active goog...