gpt4 book ai didi

java - Java 中的线程和观察者模式

转载 作者:行者123 更新时间:2023-11-29 06:00:30 25 4
gpt4 key购买 nike

假设我有两个类,Main 类和 Worker 类

class Main implements StateChangeListener extends JFrmame{

public void notifyMe(State state){
//Change the GUI according to the state
}
}


class Worker extends Thread{
public StateChangeListener listener;
public void run(){
listener.notifyMe(state);
}
}

我的问题是:假设 worker 在另一个线程中运行,哪个线程将运行函数 notifyMe()?
主线程还是工作线程?谢谢你

最佳答案

函数调用是在调用它的线程的控制下执行的。在您的情况下,由于您是从工作线程调用 notifyMe(),因此工作线程将负责执行方法 notifyMe()

您可以使用 Thread.currentThread().getName() 打印线程的名称来对此进行测试。在 this link 查看线程名称的 getter/setter .

关于java - Java 中的线程和观察者模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10313855/

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