課程
/后端開發
/Java
/細說多線程之Thread VS Runnable
為什么窗口賣出同一張票,難道票也是隨機的,我想每個窗口賣出不同的票,求大神老師指點!
2017-12-25
源自:細說多線程之Thread VS Runnable 2-3
正在回答
關鍵是ticketscount--這個操作不是原子的,你在public void run(){
????synchronized(this)
{
????while()
????????代碼邏輯
}
}一切就ok了
窗口1賣了一張票,打印剩余票數為2(輸出結果第三行).? 然后CPU資源被窗口2占用,執行了賣票操作,但是還沒有執行打印輸出操作。然后窗口1獲取CPU資源執行操作繼續賣票,打?。ㄝ敵龅谒男校4翱?操作完畢,然后窗口2獲取CPU資源執行最后的輸出打印操作(第五行)。
舉報
認識Thread和Runnable的區別,以及使用jstack生成線程快照
4 回答出票剩余相同?
2 回答票數不對,為什么呢?
3 回答繼承Thead的也可以實現票總量的共享啊
3 回答用互斥與同步的知識寫售票系統
1 回答賣票的問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-01-28
關鍵是ticketscount--這個操作不是原子的,你在public void run(){
????synchronized(this)
{
????while()
{
????????代碼邏輯
}
}
}一切就ok了
2017-12-28
窗口1賣了一張票,打印剩余票數為2(輸出結果第三行).? 然后CPU資源被窗口2占用,執行了賣票操作,但是還沒有執行打印輸出操作。然后窗口1獲取CPU資源執行操作繼續賣票,打?。ㄝ敵龅谒男校4翱?操作完畢,然后窗口2獲取CPU資源執行最后的輸出打印操作(第五行)。