繁体   English   中英

Java中的线程和观察者模式

[英]Threading and observer pattern in Java

假设我有两个类,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()来测试它,以打印Thread的名称。 请参阅此链接中的线程名称的getter / setter。

运行worker的同一个线程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM