假设我有两个类,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()?
主线程还是工作线程?谢谢
答案 0 :(得分:2)
函数调用在调用它的线程的控制下执行。在您的情况下,因为您从工作线程调用notifyMe(),工作线程将负责执行方法 notifyMe()。
您可以使用Thread.currentThread().getName()
对此进行测试,以打印线程的名称。请参阅this link处的线程名称的getter / setter。
答案 1 :(得分:1)
运行worker的同一个线程。