gpt4 book ai didi

java - 当从外部访问方法时,Java 线程的行为如何?

转载 作者:行者123 更新时间:2023-12-04 06:51:15 27 4
gpt4 key购买 nike

假设我有以下线程:

public class MyThread {
public void run() {
while (true) {
// do something forever
}
}
}

然后我按如下方式实例化线程:
MyThread thread = new MyThread();

如果我现在打电话会发生什么
thread.performSomeFunction()

具体来说, performSomeFunction 如何与上面的无限循环交互?它是否必须等待循环 sleep ?或者它们可以“同时”运行吗?

最佳答案

如果您的 thread.performSomeFunction()从另一个线程调用,它不必与在 run() 中运行的无限循环抗衡。方法。在这种情况下,您的 MyThread实例被视为另一个可以调用方法的对象。

请注意,在您启动 thread 之前,您的无限循环不会启动。实例。

您可以通过在 run() 中加入以下行来测试这一点。方法和您的 perfomrSomeFunction()方法:

System.out.println("in [METHOD NAME]: " + Thread.currentThread().getName());

并替换 [METHOD NAME]与实际的方法名称。

关于java - 当从外部访问方法时,Java 线程的行为如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3089405/

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