?? example.java.txt
字號(hào):
class TicketSeller //負(fù)責(zé)賣(mài)票的類(lèi)。
{
int fiveNumber=1,tenNumber=0,twentyNumber=0;
public synchronized void sellTicket(int receiveMoney)
{
if(receiveMoney==5)
{
fiveNumber=fiveNumber+1;
System.out.printf("%s給我5元錢(qián),這是您的1張入場(chǎng)卷\n",
Thread.currentThread().getName());
}
else if(receiveMoney==10)
{
while(fiveNumber<1)
{
try {
System.out.printf("%30s靠邊等\n",Thread.currentThread().getName());
wait(); //如果線(xiàn)程占有CUP期間執(zhí)行了wait,就進(jìn)入中斷狀態(tài)。
System.out.printf("%30s結(jié)束等待\n",Thread.currentThread().getName());
}
catch(InterruptedException e)
{
}
}
fiveNumber=fiveNumber-1;
tenNumber=tenNumber+1;
System.out.printf("%s給我10元錢(qián),找您5元,這是您的1張入場(chǎng)卷\n",
Thread.currentThread().getName());
}
else if(receiveMoney==20)
{
while(fiveNumber<1||tenNumber<1)
{
try {
System.out.printf("%30s靠邊等\n",Thread.currentThread().getName());
wait(); //如果線(xiàn)程占有CUP期間執(zhí)行了wait,就進(jìn)入中斷狀態(tài)。
System.out.printf("%30s結(jié)束等待\n",Thread.currentThread().getName());
}
catch(InterruptedException e)
{
}
}
fiveNumber=fiveNumber-1;
tenNumber=tenNumber-1;
twentyNumber=twentyNumber+1;
System.out.printf("%s給20元錢(qián),找您一張5元和一張10元,這是您的1張入場(chǎng)卷",
Thread.currentThread().getName());
}
notifyAll();
}
}
class Cinema implements Runnable //實(shí)現(xiàn)Runnable接口的類(lèi)(電影院)。
{
Thread zhang,sun,zhao; //電影院中買(mǎi)票的線(xiàn)程。
TicketSeller seller; //電影院的售票員。
Cinema()
{
zhang=new Thread(this);
sun=new Thread(this);
zhao=new Thread(this);
zhang.setName("張小有");
sun.setName("孫大名");
zhao.setName("趙中堂");
seller=new TicketSeller();
}
public void run()
{
if(Thread.currentThread()==zhang)
{
seller.sellTicket(20);
}
else if(Thread.currentThread()==sun)
{
seller.sellTicket(10);
}
else if(Thread.currentThread()==zhao)
{
seller.sellTicket(5);
}
}
}
public class Example
{
public static void main(String args[])
{
Cinema a=new Cinema();
a.zhang.start();
a.sun.start();
a.zhao.start();
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -