gpt4 book ai didi

java - 从创建线程的类中调用方法,在线程中

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

我有一个方法想在 RunnerClass 中以非静态方式在 ThreadClass 中调用。

public class CallingClass{
CallingClass(){
ClassTwo thread = new ClassTwo();
thread.start();
}

public void someMethod(){}

}

public class ThreadClass extends Thread{
public void run(){
//Some thread logic
CallingClass.someMethod();
}
}

显然这行不通。该方法不是静态的(我不允许将其设为静态),但在上面的示例中,我试图以静态方式访问它,只是因为我觉得它最能代表我想做的事情。
如果有意义的话,我希望线程能够通知 CallingClass 的实例它需要调用 someMethod()

有没有一个巧妙的方法来做到这一点?

最佳答案

如何创建 ClassTwo 构造函数来获取类型为 CallingClass 的参数?

public class ThreadClass extends Thread{
CallingClass callingClass;

public ThreadClass(CallingClass callingClass) {
this.callingClass = callingClass;
}
public void run(){
//Some thread logic
callingClass.someMethod();
}
}

然后像这样创建 ClassTwo:

public class CallingClass{
CallingClass(){
ClassTwo thread = new ClassTwo(this);
thread.start();
}

public void someMethod(){}

}

关于java - 从创建线程的类中调用方法,在线程中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47454156/

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