sách gpt4 ăn đã đi

java - 使用线程分配内存

In lại 作者:搜寻专家 更新时间:2023-11-01 04:00:07 24 4
mua khóa gpt4 giày nike

我想知道如果在一个方法中声明一个本地线程会发生什么?通常情况下,所有局部变量都会在函数返回后立即消失,因为它们都分配在 Stack 上。但是,本地线程似乎是另一回事。是对的吗?

public int A() {
Thread t = new Thread() {
doSomething();
}
t.start();
trả về -1;
}

câu trả lời hay nhất

线程是它自己的 GC 根。因此,无论何时创建线程,无论其创建上下文如何,在其运行方法完成之前,它都不会准备好进行 GC。即使本地方法完成并且线程仍然存在,也是如此。

ví dụ:

public void doSomeAsync(){
Thread th = new Thread(new Runnable(){
công khai void run(){
Thread.sleep(500);
}
});
th.start();
//do something else quickly
}

hiện hữu //do somethign else quickly 之后,任何未逃脱该方法的定义都会被标记为 GC。 Thread th 不会被标记为 GC,并正确地放置在堆上,它有自己的线程堆栈。

关于java - 使用线程分配内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10554604/

24 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress