[英]Java - Is it possible to use the Observer Pattern and threading in this way?
[英]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.