多執行緒售票

2022-06-15 15:36:13 字數 1414 閱讀 3792

//測試 多執行緒售票

//1, 需求: 設計4個售票視窗,總計售票100張。

public class c1

}//方式1:: extends thread

class mytickets extends threadcatch (interruptedexception e)

system.out.println(super.getname()+"--"+tickets--);

}else}}

}

//方式2:: implements runnable

class ticket implements runnable catch (interruptedexception e)

//超賣的原因:

//假設t1先醒,開始賣票,執行tickets--,輸出1,自減變成0

//假設t2醒了,開始賣票,執行tickets--,輸出0,自減變成-1

//假設t3醒了,開始賣票,執行tickets--,輸出-1,自減變成-2

//假設t4醒了,開始賣票,執行tickets--,輸出-2,自減變成-3

//重賣的原因:

//假設t1先醒,開始賣票,執行tickets--,輸出80 沒來得及變

//假設t2醒了,開始賣票,執行tickets--,輸出80 沒來得及變

//假設t3醒了,開始賣票,執行tickets--,輸出80 自減變成79

//假設t4醒了,開始賣票,執行tickets--,輸出79....

system.out.println(thread.currentthread().getname()+"--"+ticket--);

}else }}

}

用同步鎖改進上面程式

public class c2 

}同步速方式2:: implements runnable

class ticket implements runnable

public void run() catch (interruptedexception e)

system.out.println(thread.currentthread().getname() + "--" + ticket--);

} else }}

}}public class c1

}同步鎖改進方式1:: extends thread

class mytickets extends thread catch (interruptedexception e)

system.out.println(super.getname() + "--" + tickets--);

} else }}

}}

java多執行緒售票實現

編寫售票的類,並實現runnable介面 package threadtest public class saletickets implements runnable else public void run catch interruptedexception e 測試類如下 package e...

java多執行緒簡單模擬售票

packagetest 模擬售票 author administrator publicclassbuyticket 多執行緒的實現方法 1 繼承 thread類 2 實現runnable介面 售票類 利用extends thread 實現多執行緒 author administrator clas...

多執行緒模擬火車站售票

生活中其實有很多多執行緒的例子,比如火車站售票就是乙個例子。我們先來分析一下,1 首先要有火車票的總數量,並且每賣出一張火車票,總量就減一 2 當火車票的數量小於1的時候,就停止售票 3 使用多執行緒模擬各個視窗進行售票 4 當火車票售完後,火車站也同樣歡迎我們 下來,我們 來實現火車站售票例項 p...