簡體   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