亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

細說多線程之Thread VS Runnable

難度初級
時長 1小時 0分
學習人數
綜合評分9.63
171人評價 查看評價
9.8 內容實用
9.6 簡潔易懂
9.5 邏輯清晰
窗口2賣了一張票,剩余票數為:3

窗口3賣了一張票,剩余票數為:2

窗口3賣了一張票,剩余票數為:1

窗口3賣了一張票,剩余票數為:0

窗口1賣了一張票,剩余票數為:3
最后一個、個剩余票數明顯不對啊
這有什么優劣么...
@Wweison要保證線程的安全性,很明顯是需要加同步的,很多初學者也問到了這個問題,你可以在問答里面看下!我這里之所以沒加同步,是因為《深入淺出java多線程》中已經對同步做了講解,所以我這里沒必要重復講解,課程的重點不在這里,同時這樣也可以留給大家一點思考的和改進的余地!
我用那個代碼,還出現這種結果,感覺應該加鎖
窗口2賣了一張票,剩余票數為:3
窗口3賣了一張票,剩余票數為:2
窗口3賣了一張票,剩余票數為:1
窗口3賣了一張票,剩余票數為:0
窗口1賣了一張票,剩余票數為:3
好棒! .
老師說話語速快哈
大贊!學到東西了,有些地方不是太懂,感覺好厲害的樣子,要繼續加油,提高自己的水平。
jstack,漲姿勢了!??!
厲害?。?!長見識了!
簡單明了,大愛
線程應該不是執行完ticketsCont--這句話就被其它線程搶去了,應該是執行完System.out.println里面的字符串的生成 才被搶去的
語數有點快...

講師回答 / MartonZhang
你好,ticketsCont是實例變量,它的值自然是存在堆中(每個java對象在堆中都會占據一定內存,而實例變量的值就是存儲在這塊內存中,類似于結構體,因此每個對象對應一個ticketsCont的值),ticketsCont跟值傳遞沒有關系啊,如果是Runnable方式的話,傳遞的也只是MyThread對象引用的副本,不管ticketsCont的事,但是因為ticketsCont的值在引用和引用副本所指向的堆內存中,所以無論是引用還是引用副本改變了堆內存中ticketsCont的值,都會產生效果!
說的挺詳細的,不錯?。?/div>
課程須知
學習本課程前,你需要熟練掌握Java的基礎語法,熟悉Java中創建線程的兩種方式,熟悉Java多線程中常用的一些方法。
老師告訴你能學到什么?
1、多線程創建方式的比較和選擇 2、線程的生命周期、守護線程

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消