Обновление: Спасибо всем! Я изменил программу в соответствии с предложениями, а приведенный ниже код - это модифицированный код.Резьба начинает работать и оканчивается
Оригинал публикации: Я прошел через какой-то типа «Применить и анализ» вопросов и в одном вопросе, программист было предложено применить многопоточности концепцию трех счетчиков бронирования в кинотеатре и рассчитать общие номера бронирования и сумму, собранную в шоу.
И я написал программу для того же, который вы можете увидеть ниже:
import java.io.*;
import java.lang.*;
class Cinema
{
int no=0,price=0;
synchronized void reservation(int n,int p)
{
no=no+n;
price=price+p;
}
}
class Counter implements Runnable
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
Cinema c;
int not,cost;
Counter(Cinema c)
{
this.c=c;
}
public void run()
{
try
{
System.out.print("\nCounter 1");
System.out.print("\nEnter the no. of tickets :");
not=Integer.parseInt(br.readLine());
cost=not*150;
c.reservation(not,cost);
}
catch(IOException e){System.out.print("\n"+e);}
}
}
class CinemaMain
{
public static void main(String args[])throws IOException
{
Cinema c=new Cinema();
System.out.print("\nCounter 1");
Thread c1=new Thread(new Counter(c));
c1.start();
c1.join();
System.out.print("\nCounter 2");
Thread c2=new Thread(new Counter(c));
c2.start();
c2.join();
System.out.print("\nCounter 3");
Thread c3=new Thread(new Counter(c));
c3.start();
c3.join();
try
{
Thread.sleep(500);
}
catch(InterruptedException ie)
{
System.out.print("\n"+ie);
}
System.out.print("\nTotal no. of tickets :"+c.no);
System.out.print("\nTotal Money collected:"+c.price);
}
}
я могу скомпилировать это просто отлично, но когда я запускаю программу, это то, что я получаю ->LINK (так как у меня нет 10 репутации, я не мог опубликовать изображение здесь, извините!) Я не знаю, почему, он не просит ввода, даже если я написал код, чтобы получить ввод в перспективе метод.
Рассмотрите возможность использования «Сканера» для ввода в консоль. –
Зачем вам 3 Темы? – Chriss
Что это за безумие? Почему у вас нет одного класса Counter с тремя экземплярами? – dimoniy