gpt4 book ai didi

java - 从另一个类调用扩展 Thread 的类的方法

转载 作者:行者123 更新时间:2023-12-02 02:10:50 24 4
gpt4 key购买 nike

我知道这是一个有点幼稚的问题,但我想了解java中多线程背后的基本工作原理。考虑下面的代码,假设 A 在主线程中执行,并开始执行在类 B 中定义的另一个工作线程。我想知道从 A 调用的 B.func1 和 B 的 run 方法是否可以并行执行?

public class A {
public static void main(String[] args) {
B obj = new B();
obj.start();
obj.func1();
}
}

public class B extends Thread {
public B() {
//constructor
}
public void run() {
while(true) {
//do somethings
}
}
public void func1() {
//do someotherthings
}
}

最佳答案

方法调用背后并没有什么魔力。如果从线程调用方法,则该方法将在完全相同的线程中调用。因此,由于 obj.func1() 是从 main 调用的,因此它将在主线程中运行。它属于哪个类或是否扩展Thread并不重要。

新线程通过执行run开始。从 run 等调用的所有内容都将与 main 并行执行。

关于java - 从另一个类调用扩展 Thread 的类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37671500/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com