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

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

為什么有兩個(gè)運(yùn)行線程而不是一個(gè)?

為什么有兩個(gè)運(yùn)行線程而不是一個(gè)?

米琪卡哇伊 2023-06-08 19:42:05
所以在下面:public class JavaClass {    public static void main(String[] args) {        JavaClass clazz = new JavaClass();        clazz.startCustomThread();        clazz = new JavaClass();        clazz.startCustomThread();    }    public void startCustomThread() {        new MyThread().startThread();    }    private static class MyThread {        public void startThread() {            new Thread(() -> {                System.out.println("In thread " + Thread.currentThread().getName());                while (true) {                    try {                        Thread.sleep(1000 * 5);                        System.out.println("Woke up " + Thread.currentThread().getName());                    } catch (InterruptedException e) {                        e.printStackTrace();                    }                }            }).start();        }    }}輸出是:In thread Thread-1In thread Thread-0Woke up Thread-0Woke up Thread-1....  由于clazz應(yīng)該在第二個(gè)實(shí)例之后進(jìn)行 GC,并且第一個(gè)線程在第一次調(diào)用的本地范圍內(nèi)啟動(dòng),所以startCustomThread()我的問題是為什么第一個(gè)線程沒有終止?
查看完整描述

3 回答

?
GCT1015

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊

如果您具體詢問為什么JavaClass對象未被 GC 處理。它可能是(取決于 VM 參數(shù))。

如果您問為什么該對象生成的線程繼續(xù)運(yùn)行,那是因?yàn)樗?strong>創(chuàng)建了一個(gè)新線程Thread并運(yùn)行它。這只會(huì)在run()方法正常完成或被System.exit()調(diào)用時(shí)完成。


查看完整回答
反對 回復(fù) 2023-06-08
?
DIEA

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超2個(gè)贊

您調(diào)用了startCustomThread兩次方法,因此啟動(dòng)了 2 個(gè)線程。

來自Thread文檔:

Java 虛擬機(jī)繼續(xù)執(zhí)行線程,直到發(fā)生以下任一情況:

  1. 已調(diào)用 Runtime 類的退出方法,安全管理器已允許執(zhí)行退出操作。

  2. 所有不是守護(hù)線程的線程都已死亡,要么是從對 run 方法的調(diào)用返回,要么是拋出一個(gè)傳播到 run 方法之外的異常。

這些選項(xiàng)均不適用于您的情況,因此該線程仍然存在。這與垃圾收集無關(guān)。


查看完整回答
反對 回復(fù) 2023-06-08
?
慕村225694

TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊

該行clazz = new JavaClass();只是將新對象分配給您的本地引用,并且不會(huì)破壞該引用所引用的先前創(chuàng)建的對象。此行不保證對象被垃圾收集。

此外,對象的垃圾回收不一定與線程的生命周期相關(guān)——您的線程可能會(huì)被中斷或完成其執(zhí)行,但對象仍可能存在于堆中并正在等待 GC。


查看完整回答
反對 回復(fù) 2023-06-08
  • 3 回答
  • 0 關(guān)注
  • 177 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)