大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java線程狀態(tài)轉(zhuǎn)換的情況介紹

Java線程狀態(tài)轉(zhuǎn)換的情況介紹

更新時(shí)間:2022-12-08 11:55:44 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1630次

Java線程狀態(tài)轉(zhuǎn)換有哪些情況?動(dòng)力節(jié)點(diǎn)小編來告訴大家。

情況1NEW–>RUNNABLE

?當(dāng)調(diào)用t.start()方法的時(shí)候,由NEW–>Runnable

情況2RUNNABLE<–>WATTING

? t線程用synchronize(obj)獲得對(duì)象鎖后:

? 調(diào)用obj.wait()方法時(shí),t線程從RUNNABLE–>WAITING

? 調(diào)用obj.notify(),obj.notifyAll,t.interrupt時(shí):

? 競(jìng)爭(zhēng)鎖成功,t線程WAITING–>RUNNABLE

? 競(jìng)爭(zhēng)鎖失敗,t線程從WAITING–>BLOCKED

@Slf4j(topic = "c.TestWaitNotify")
public class TestWaitNotify {
    final static Object obj = new Object();
    public static void main(String[] args) {
        new Thread(() -> {
            synchronized (obj) {
                log.debug("執(zhí)行....");
                try {
                    obj.wait(); // 讓線程在obj上一直等待下去
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                log.debug("其它代碼....");
            }
        },"t1").start();
        new Thread(() -> {
            synchronized (obj) {
                log.debug("執(zhí)行....");
                try {
                    obj.wait(); // 讓線程在obj上一直等待下去
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                log.debug("其它代碼....");
            }
        },"t2").start();
        // 主線程兩秒后執(zhí)行
        sleep(0.5);
        log.debug("喚醒 obj 上其它線程");
        synchronized (obj) {
//            obj.notify(); // 喚醒obj上一個(gè)線程
            obj.notifyAll(); // 喚醒obj上所有等待線程
        }
    }
}

情況3 RUNNABLE<–>WATTING

當(dāng)前線程調(diào)用t.join()方法時(shí),當(dāng)前線程從RUNNABLE --> WAITING

注意是從當(dāng)前線程在t線程對(duì)象的監(jiān)視器上等待

t線程運(yùn)行結(jié)束,活調(diào)用了當(dāng)前線程的interrupt()時(shí),當(dāng)前線程從WAITING–> RUNNNABLE

情況4 RUNNABLE<–>WATTING

當(dāng)前線程調(diào)用LockSupport.park()方法會(huì)讓當(dāng)前線程從RUNNABLE --> WAITING

調(diào)用LockSupport.unpark(目標(biāo)線程)或調(diào)用了線程的interrupt(),會(huì)讓目標(biāo)線程從WAITING -->RUNNABLE

情況5RUNNABLE<–>TIMED_WATTING

t線程用synchronize(obj)獲取了對(duì)象鎖后

調(diào)用obj.wait(long n)方法時(shí),t線程從RUNABLE -->TIMED_WAITING

t線程等待時(shí)間超過了n毫秒,或調(diào)用obj.notify(),obj.notifyAll(),t.interrupt時(shí)

競(jìng)爭(zhēng)鎖成功,t線程從TIMED_WAITING -->RUNNABLE

競(jìng)爭(zhēng)鎖失敗,t線程從TIMED_WAITING --> BLOCKED

情況6 RUNNABLE<–>TIMED_WATTING

當(dāng)前線程調(diào)用t.join(long n) 方法是,當(dāng)前線程從RUNNABLE --> TIMED_WAITING

注意是當(dāng)前線程在t線程****對(duì)象的監(jiān)視器上等待

當(dāng)前線程等待時(shí)間超過了n毫秒,或t線程運(yùn)行結(jié)束,調(diào)用了當(dāng)前線程的interrupt()時(shí),當(dāng)前線程從TIMED_WAITING --> RUNNABLE

情況7 RUNNABLE<–>TIMED_WATTING

當(dāng)前線程調(diào)用Thread.Sleep(long n) ,當(dāng)前線程從RUNNABLE -->TIMED_WAITING

當(dāng)前線程等待時(shí)間超過了n毫秒,當(dāng)前線程從TIMED_WAITING -->RUNNABLE

情況8 RUNNABLE<–>TIMED_WATTING

當(dāng)前線程調(diào)用LockSupport.parkNanos(long nanos) 或LockSupport.parkUntil(long millis)時(shí),當(dāng)前線程從RUNNABLE -->TIMED_WATTING

調(diào)用LockSupport.unpark(目標(biāo)線程)或調(diào)用了線程的interrupt(),或是等待超時(shí),會(huì)讓目標(biāo)線程從TIMED_WATTING–> RUNNABLE

情況9 RUNNABLE<–>BOLCKED

t線程用synchronized(obj)獲取了對(duì)象鎖時(shí)如果競(jìng)爭(zhēng)失敗,從RUNNABLE -->BLOCKED

持obj鎖線程的同步代碼塊執(zhí)行完畢,會(huì)喚醒該帝鄉(xiāng)上所有的BLOCKED的線程重新競(jìng)爭(zhēng),如果其中t線程競(jìng)爭(zhēng)成功,從BLOCKED -->RUNNABLE,其他失敗的線程任然BLOCKED

情況10 RUNNABLE<–>TERMINATED

當(dāng)前線程所有代碼運(yùn)行完成,進(jìn)入TERMINATED

–>RUNNABLE,其他失敗的線程任然BLOCKED

情況10 RUNNABLE<–>TERMINATED

當(dāng)前線程所有代碼運(yùn)行完成,進(jìn)入TERMINATED

以上就是關(guān)于“Java線程狀態(tài)轉(zhuǎn)換的情況介紹”,大家如果想了解更多相關(guān)知識(shí),不妨來關(guān)注一下本站的Java多線程編程技術(shù)文檔,里面還有更豐富的知識(shí)等著大家去學(xué)習(xí),希望對(duì)大家能夠有所幫助。

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-10-10 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 狠狠色噜噜狠狠狠狠2021天天 | 久99久精品视频免费观看v | 99视频在线观看高清 | 国产高清在线精品一区a | 亚洲国产成人99精品激情在线 | www.天天干.com| 日韩一区二区三区免费视频 | 成人一a毛片免费视频 | 欧美一级成人一区二区三区 | 免费久久 | 亚洲片在线 | 国产精品综合在线 | 亚洲国产精品国产自在在线 | 黄色大全网站 | 久久久久久久爱综合 | 香蕉97超级碰碰碰碰碰久 | 国产乱码精品一区二区 | 午夜一级福利 | 99热这里只有精品6免费 | 欧美日韩国产片 | 欧美大屁股精品毛片视频 | 日韩欧美视频一区二区在线观看 | 亚洲免费视频网 | 夜夜狠狠狠狠 | 在线观看亚洲免费视频 | 日日爱影视 | 亚洲成人日韩 | 大杳焦伊人久久综合热 | 在线观看片成人免费视频 | 91福利国产在线观看 | 欧美 亚洲 另类 热图 | 日韩毛片最新看 | 精品久久网 | 狠狠狠综合色 | 国产免费高清视频 | 国产一区二区亚洲精品天堂 | 在线观看 一区二区 麻豆 | 亚洲在线视频观看 | 在线观看久草 | 国产一区二区三区在线观看视频 | 国产真实伦视频在线观看 |