第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

細說多線程之Thread VS Runnable

難度初級
時長 1小時 0分
學習人數(shù)
綜合評分9.63
171人評價 查看評價
9.8 內(nèi)容實用
9.6 簡潔易懂
9.5 邏輯清晰
舉的例子不合適,容易誤導別人!繼承thread的子類中定義了票數(shù)變量,每new一下啟動新線程,都會有5張票,把票數(shù)變量定義成全局變量試試

已采納回答 / 鴻澤
可能是因為并非窗口1首先獲得CPU時間片,而是其他線程。首先是窗口2 ,執(zhí)行到count--之后,sysout時就被阻塞了。注意此時count=4。然后是窗口1 ,執(zhí)行了整個run方法 ,此時count=3。然后是窗口3 ,執(zhí)行了整個run方法 ,此時count=2。此時窗口2恢復,繼count--之后執(zhí)行,輸出count=3。然后是窗口3 ,執(zhí)行了整個run方法 ,此時count=0。當然這種并不一定是這樣,因為現(xiàn)在的多核CPU線程是可以同時執(zhí)行的。
這個都在誤導別人…………
寫輸出流那里是不是忘了關閉輸出流了?
長姿勢了!
用synchronized?
class MyThread implements Runnable{
Lock lock = new ReentrantLock();
private int number=5;
@Override
public void run() {
lock.lock();
try{
while(number >0){
number--;
System.out.println(Thread.currentThread().getName()+"賣一張剩余票數(shù):"+number);
}
}finally{
lock.unlock();
}
}}要加鎖機制

最新回答 / 哀幻暝
<...圖片...>補充一個解決辦法
PPT怎么做出來的??。?!

最新回答 / 飄游人
extends Thread的例子沒有問題。想實現(xiàn)的確實是3個窗口總共有5張票,老師故意用extends Thread的例子,就是為了說明這種方式達不到希望的效果(即實際出現(xiàn)的效果是你所說的“每個窗口擁有5張票”)。老師也在PPT中寫明,只有Runnable的方式才適合多個線程處理同一資源的情況。如果硬要用extends Thread來實現(xiàn)效果,確實像你說的可以加static關鍵字,但老師想告訴我們的是,對于這樣的情況,還是用Runnable好。
機關槍~~~
thread代碼里主函數(shù)那對象實例化和Runnable代碼里的主函數(shù)對象實例化的代碼都不一樣,前提條件都不一樣,咋比出thread和Runnable的不同啊。
而且我把ticketsRunnable里面的代碼implements Runnable換成extends Thread,執(zhí)行效果一樣啊,那Thread和Runnable還有啥區(qū)別啊。
線程一剛執(zhí)行完tick--,還沒有執(zhí)行打印語句,那就算線程還未結(jié)束,別的線程怎么能搶走執(zhí)行權(quán)呢?
ticketsCont 前面如果加了static就表示ticketCont是靜態(tài)變量,靜態(tài)變量就不是一個對象私有的屬性了,相當于thread類的所有實例都共享這個屬性
大題小做,感覺不錯
這老師代碼寫的真規(guī)范,都是成對的,而且寫時的邏輯也很清晰,告訴你為什么要這么寫。
課程須知
學習本課程前,你需要熟練掌握Java的基礎語法,熟悉Java中創(chuàng)建線程的兩種方式,熟悉Java多線程中常用的一些方法。
老師告訴你能學到什么?
1、多線程創(chuàng)建方式的比較和選擇 2、線程的生命周期、守護線程

微信掃碼,參與3人拼團

微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號

友情提示:

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

本次提問將花費2個積分

你的積分不足,無法發(fā)表

為什么扣積分?

本次提問將花費2個積分

繼續(xù)發(fā)表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消