gpt4 book ai didi

Java:定期从线程向主类发送数据

转载 作者:行者123 更新时间:2023-11-30 03:46:19 26 4
gpt4 key购买 nike

我有一个从 HTTP 下载数据的线程。我使用流 API 每 1 秒到大约 10 分钟获取一次。

从 HTTP 服务器接收数据后,我需要将此数据发送到 MyMainClass 中的方法。如果没有静态方法,我该如何做到这一点?我不喜欢使用静态方法。

public class MyMainClass {  
public static void main(String[] args) {
GetData getData = new GetData();
getData.start();
}

public static void useText(String text) {
System.out.println(text);
// do something...
}
}


public class GetData extends Thread {

@Override
public void run() {
String text;

/* Download text from HTTP and save it to "text".
* Every 1 seconds to about 10 minutes using stream API.
* text= "abc...";
* If there are no errors, run method never exit.
*/
MyMainClass.useText(text);

}
}

最佳答案

使您的方法成为实例方法,并创建可以传递给 Thread 实例的类的实例

public static void main(String[] args) {            
GetData getData = new GetData(new MyMainClass());
getData.start();
}

public void useText(String text) {
System.out.println(text);
// do something...
}

GetData 类的 run 方法中,您可以使用 MyMainClass 实例作为回调。

public GetData extends Thread {
public GetData(MyMainClass instance) {
this.instance = instance;
}

private MyMainClass instance;

@Override
public void run() {
String text;

/* Download text from HTTP and save it to "text".
* Every 1 seconds to about 10 minutes using stream API.
* text= "abc...";
* If there are no errors, run method never exit.
*/
instance.useText(text);
}
}

关于Java:定期从线程向主类发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25615068/

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