//測試 多執行緒售票
//1, 需求: 設計4個售票視窗,總計售票100張。
public class c1
}//方式1:: extends thread
class mytickets extends threadcatch (interruptedexception e)
system.out.println(super.getname()+"--"+tickets--);
}else}}
}
//方式2:: implements runnableclass 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...